In [1]:
!pip install librosa
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Requirement already satisfied: librosa in /usr/local/lib/python3.7/dist-packages (0.8.1)
Requirement already satisfied: numpy>=1.15.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (1.21.6)
Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (1.0.2)
Requirement already satisfied: soundfile>=0.10.2 in /usr/local/lib/python3.7/dist-packages (from librosa) (0.11.0)
Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (0.56.2)
Requirement already satisfied: audioread>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (3.0.0)
Requirement already satisfied: resampy>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from librosa) (0.4.2)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (21.3)
Requirement already satisfied: joblib>=0.14 in /usr/local/lib/python3.7/dist-packages (from librosa) (1.2.0)
Requirement already satisfied: pooch>=1.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (1.6.0)
Requirement already satisfied: decorator>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (4.4.2)
Requirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from librosa) (1.7.3)
Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from numba>=0.43.0->librosa) (5.0.0)
Requirement already satisfied: setuptools<60 in /usr/local/lib/python3.7/dist-packages (from numba>=0.43.0->librosa) (57.4.0)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.7/dist-packages (from numba>=0.43.0->librosa) (0.39.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging>=20.0->librosa) (3.0.9)
Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.7/dist-packages (from pooch>=1.0->librosa) (2.23.0)
Requirement already satisfied: appdirs>=1.3.0 in /usr/local/lib/python3.7/dist-packages (from pooch>=1.0->librosa) (1.4.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pooch>=1.0->librosa) (2022.9.24)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pooch>=1.0->librosa) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pooch>=1.0->librosa) (1.24.3)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.19.0->pooch>=1.0->librosa) (2.10)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn!=0.19.0,>=0.14.0->librosa) (3.1.0)
Requirement already satisfied: cffi>=1.0 in /usr/local/lib/python3.7/dist-packages (from soundfile>=0.10.2->librosa) (1.15.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.0->soundfile>=0.10.2->librosa) (2.21)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->numba>=0.43.0->librosa) (3.9.0)
Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->numba>=0.43.0->librosa) (4.1.1)
In [2]:
import torch
import torchvision
from torch import nn
from torch.utils.data import DataLoader, TensorDataset
from torchvision import datasets
from torchvision.transforms import ToTensor
import numpy as np
import torch.nn.functional as F
from torch.optim.lr_scheduler import StepLR
import librosa
In [3]:
# Get cpu or gpu device for training.
device = "cuda:0" if torch.cuda.is_available() else "cpu"
print(f"Using {device} device")
Using cuda:0 device

Question 1

In [4]:
class NeuralNetwork(nn.Module):
    def __init__(self):
        super(NeuralNetwork, self).__init__()
        # define the layers
        self.flatten = nn.Flatten()
        self.fc1 = nn.Linear(513, 512)
        self.fc2 = nn.Linear(512, 512)
        self.fc3 = nn.Linear(512, 512)
        self.out = nn.Linear(512, 513)

        

    def forward(self, x):
        x = self.flatten(x)
        out1 = F.tanh(self.fc1(x))
        out2 = F.tanh(self.fc2(out1))
        out3 = F.tanh(self.fc3(out2))
        out = F.relu(self.out(out3))
        # return output of each hidden layer
        return out

model = NeuralNetwork().to(device)
print(model)
NeuralNetwork(
  (flatten): Flatten(start_dim=1, end_dim=-1)
  (fc1): Linear(in_features=513, out_features=512, bias=True)
  (fc2): Linear(in_features=512, out_features=512, bias=True)
  (fc3): Linear(in_features=512, out_features=512, bias=True)
  (out): Linear(in_features=512, out_features=513, bias=True)
)
In [5]:
def xavier_initializer(layer):
  if type(layer) == nn.Linear:
    nn.init.xavier_normal(layer.weight)
In [6]:
def train(dataloader, model, loss_fn, optimizer):
    size = len(dataloader.dataset)
    model.train()
    model.to(device)
    for batch, (X, y) in enumerate(dataloader):
      X, y = X.to(device), y.to(device)
      # Compute prediction error
      pred = model(X)
      loss = loss_fn(pred, y)

      # Backpropagation
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()

      if batch % 10 == 0:
        loss, current = loss.item(), batch * len(X)
        print(f"Train loss: {loss:>7f}")
In [7]:
def train_epochs(train_data, model, loss_fn, optimizer):
  epochs, accuracy = 1, 1
  for i in range(500):
      print(f"Epoch {epochs}\n-------------------------------")
      train(train_data, model, loss_fn, optimizer)
      epochs += 1

  print("Done!")
In [8]:
s, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr=None)
S=librosa.stft(s, n_fft=1024, hop_length=512)
sn, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr=None)
X=librosa.stft(sn, n_fft=1024, hop_length=512)

First, Train with the whole dataset to check the value, it should be really good because the model will overfit

In [9]:
batch_size = 2000

X = X.T
S = S.T

s_mag = np.abs(S)
x_mag = np.abs(X)

X = torch.from_numpy(x_mag)
S = torch.from_numpy(s_mag)

train_dataset = TensorDataset(X, S)
train_dataloader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
In [10]:
#all the data
len(train_dataloader.dataset)
Out[10]:
2459
In [11]:
model = NeuralNetwork().to(device)
loss_fn = torch.nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters())
model.apply(xavier_initializer)
scheduler = StepLR(optimizer, step_size=50, gamma=0.1)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:3: UserWarning: nn.init.xavier_normal is now deprecated in favor of nn.init.xavier_normal_.
  This is separate from the ipykernel package so we can avoid doing imports until
In [12]:
train_epochs(train_dataloader, model, loss_fn, optimizer)
Epoch 1
-------------------------------
/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:1949: UserWarning: nn.functional.tanh is deprecated. Use torch.tanh instead.
  warnings.warn("nn.functional.tanh is deprecated. Use torch.tanh instead.")
Train loss: 0.104239
Epoch 2
-------------------------------
Train loss: 0.065418
Epoch 3
-------------------------------
Train loss: 0.051938
Epoch 4
-------------------------------
Train loss: 0.043915
Epoch 5
-------------------------------
Train loss: 0.040460
Epoch 6
-------------------------------
Train loss: 0.031809
Epoch 7
-------------------------------
Train loss: 0.030910
Epoch 8
-------------------------------
Train loss: 0.028759
Epoch 9
-------------------------------
Train loss: 0.026416
Epoch 10
-------------------------------
Train loss: 0.025882
Epoch 11
-------------------------------
Train loss: 0.022496
Epoch 12
-------------------------------
Train loss: 0.022481
Epoch 13
-------------------------------
Train loss: 0.020199
Epoch 14
-------------------------------
Train loss: 0.018238
Epoch 15
-------------------------------
Train loss: 0.018290
Epoch 16
-------------------------------
Train loss: 0.016427
Epoch 17
-------------------------------
Train loss: 0.015260
Epoch 18
-------------------------------
Train loss: 0.015302
Epoch 19
-------------------------------
Train loss: 0.013471
Epoch 20
-------------------------------
Train loss: 0.014010
Epoch 21
-------------------------------
Train loss: 0.012462
Epoch 22
-------------------------------
Train loss: 0.013137
Epoch 23
-------------------------------
Train loss: 0.011866
Epoch 24
-------------------------------
Train loss: 0.010669
Epoch 25
-------------------------------
Train loss: 0.011627
Epoch 26
-------------------------------
Train loss: 0.011486
Epoch 27
-------------------------------
Train loss: 0.010213
Epoch 28
-------------------------------
Train loss: 0.010717
Epoch 29
-------------------------------
Train loss: 0.009978
Epoch 30
-------------------------------
Train loss: 0.009602
Epoch 31
-------------------------------
Train loss: 0.008519
Epoch 32
-------------------------------
Train loss: 0.009439
Epoch 33
-------------------------------
Train loss: 0.009631
Epoch 34
-------------------------------
Train loss: 0.008016
Epoch 35
-------------------------------
Train loss: 0.008509
Epoch 36
-------------------------------
Train loss: 0.008494
Epoch 37
-------------------------------
Train loss: 0.008626
Epoch 38
-------------------------------
Train loss: 0.008521
Epoch 39
-------------------------------
Train loss: 0.007956
Epoch 40
-------------------------------
Train loss: 0.008263
Epoch 41
-------------------------------
Train loss: 0.008098
Epoch 42
-------------------------------
Train loss: 0.007909
Epoch 43
-------------------------------
Train loss: 0.007518
Epoch 44
-------------------------------
Train loss: 0.007196
Epoch 45
-------------------------------
Train loss: 0.006658
Epoch 46
-------------------------------
Train loss: 0.006711
Epoch 47
-------------------------------
Train loss: 0.006644
Epoch 48
-------------------------------
Train loss: 0.005905
Epoch 49
-------------------------------
Train loss: 0.006352
Epoch 50
-------------------------------
Train loss: 0.006229
Epoch 51
-------------------------------
Train loss: 0.005904
Epoch 52
-------------------------------
Train loss: 0.005599
Epoch 53
-------------------------------
Train loss: 0.005511
Epoch 54
-------------------------------
Train loss: 0.005605
Epoch 55
-------------------------------
Train loss: 0.005563
Epoch 56
-------------------------------
Train loss: 0.005647
Epoch 57
-------------------------------
Train loss: 0.005147
Epoch 58
-------------------------------
Train loss: 0.006032
Epoch 59
-------------------------------
Train loss: 0.005884
Epoch 60
-------------------------------
Train loss: 0.006103
Epoch 61
-------------------------------
Train loss: 0.005790
Epoch 62
-------------------------------
Train loss: 0.006245
Epoch 63
-------------------------------
Train loss: 0.005435
Epoch 64
-------------------------------
Train loss: 0.005679
Epoch 65
-------------------------------
Train loss: 0.005226
Epoch 66
-------------------------------
Train loss: 0.005258
Epoch 67
-------------------------------
Train loss: 0.005204
Epoch 68
-------------------------------
Train loss: 0.004861
Epoch 69
-------------------------------
Train loss: 0.004615
Epoch 70
-------------------------------
Train loss: 0.004632
Epoch 71
-------------------------------
Train loss: 0.004350
Epoch 72
-------------------------------
Train loss: 0.004546
Epoch 73
-------------------------------
Train loss: 0.004278
Epoch 74
-------------------------------
Train loss: 0.004336
Epoch 75
-------------------------------
Train loss: 0.004204
Epoch 76
-------------------------------
Train loss: 0.004179
Epoch 77
-------------------------------
Train loss: 0.004217
Epoch 78
-------------------------------
Train loss: 0.004044
Epoch 79
-------------------------------
Train loss: 0.003927
Epoch 80
-------------------------------
Train loss: 0.003926
Epoch 81
-------------------------------
Train loss: 0.004141
Epoch 82
-------------------------------
Train loss: 0.003970
Epoch 83
-------------------------------
Train loss: 0.004077
Epoch 84
-------------------------------
Train loss: 0.003887
Epoch 85
-------------------------------
Train loss: 0.004213
Epoch 86
-------------------------------
Train loss: 0.004135
Epoch 87
-------------------------------
Train loss: 0.004355
Epoch 88
-------------------------------
Train loss: 0.004201
Epoch 89
-------------------------------
Train loss: 0.003920
Epoch 90
-------------------------------
Train loss: 0.003826
Epoch 91
-------------------------------
Train loss: 0.003749
Epoch 92
-------------------------------
Train loss: 0.003595
Epoch 93
-------------------------------
Train loss: 0.003618
Epoch 94
-------------------------------
Train loss: 0.003475
Epoch 95
-------------------------------
Train loss: 0.003513
Epoch 96
-------------------------------
Train loss: 0.003407
Epoch 97
-------------------------------
Train loss: 0.003451
Epoch 98
-------------------------------
Train loss: 0.003242
Epoch 99
-------------------------------
Train loss: 0.003321
Epoch 100
-------------------------------
Train loss: 0.003201
Epoch 101
-------------------------------
Train loss: 0.003324
Epoch 102
-------------------------------
Train loss: 0.003249
Epoch 103
-------------------------------
Train loss: 0.003413
Epoch 104
-------------------------------
Train loss: 0.003334
Epoch 105
-------------------------------
Train loss: 0.003207
Epoch 106
-------------------------------
Train loss: 0.003242
Epoch 107
-------------------------------
Train loss: 0.003263
Epoch 108
-------------------------------
Train loss: 0.002999
Epoch 109
-------------------------------
Train loss: 0.003010
Epoch 110
-------------------------------
Train loss: 0.003058
Epoch 111
-------------------------------
Train loss: 0.003036
Epoch 112
-------------------------------
Train loss: 0.002988
Epoch 113
-------------------------------
Train loss: 0.002870
Epoch 114
-------------------------------
Train loss: 0.003068
Epoch 115
-------------------------------
Train loss: 0.003269
Epoch 116
-------------------------------
Train loss: 0.003066
Epoch 117
-------------------------------
Train loss: 0.003936
Epoch 118
-------------------------------
Train loss: 0.003567
Epoch 119
-------------------------------
Train loss: 0.003131
Epoch 120
-------------------------------
Train loss: 0.003587
Epoch 121
-------------------------------
Train loss: 0.003687
Epoch 122
-------------------------------
Train loss: 0.003479
Epoch 123
-------------------------------
Train loss: 0.003329
Epoch 124
-------------------------------
Train loss: 0.003154
Epoch 125
-------------------------------
Train loss: 0.003134
Epoch 126
-------------------------------
Train loss: 0.003226
Epoch 127
-------------------------------
Train loss: 0.003233
Epoch 128
-------------------------------
Train loss: 0.002905
Epoch 129
-------------------------------
Train loss: 0.003479
Epoch 130
-------------------------------
Train loss: 0.004132
Epoch 131
-------------------------------
Train loss: 0.003944
Epoch 132
-------------------------------
Train loss: 0.003420
Epoch 133
-------------------------------
Train loss: 0.003377
Epoch 134
-------------------------------
Train loss: 0.003219
Epoch 135
-------------------------------
Train loss: 0.003396
Epoch 136
-------------------------------
Train loss: 0.003134
Epoch 137
-------------------------------
Train loss: 0.003230
Epoch 138
-------------------------------
Train loss: 0.002960
Epoch 139
-------------------------------
Train loss: 0.003015
Epoch 140
-------------------------------
Train loss: 0.002822
Epoch 141
-------------------------------
Train loss: 0.002748
Epoch 142
-------------------------------
Train loss: 0.002651
Epoch 143
-------------------------------
Train loss: 0.002638
Epoch 144
-------------------------------
Train loss: 0.002588
Epoch 145
-------------------------------
Train loss: 0.002551
Epoch 146
-------------------------------
Train loss: 0.002564
Epoch 147
-------------------------------
Train loss: 0.002484
Epoch 148
-------------------------------
Train loss: 0.002433
Epoch 149
-------------------------------
Train loss: 0.002433
Epoch 150
-------------------------------
Train loss: 0.002350
Epoch 151
-------------------------------
Train loss: 0.002358
Epoch 152
-------------------------------
Train loss: 0.002301
Epoch 153
-------------------------------
Train loss: 0.002226
Epoch 154
-------------------------------
Train loss: 0.002335
Epoch 155
-------------------------------
Train loss: 0.002267
Epoch 156
-------------------------------
Train loss: 0.002262
Epoch 157
-------------------------------
Train loss: 0.002218
Epoch 158
-------------------------------
Train loss: 0.002250
Epoch 159
-------------------------------
Train loss: 0.002194
Epoch 160
-------------------------------
Train loss: 0.002162
Epoch 161
-------------------------------
Train loss: 0.002241
Epoch 162
-------------------------------
Train loss: 0.002164
Epoch 163
-------------------------------
Train loss: 0.002126
Epoch 164
-------------------------------
Train loss: 0.002257
Epoch 165
-------------------------------
Train loss: 0.002161
Epoch 166
-------------------------------
Train loss: 0.002238
Epoch 167
-------------------------------
Train loss: 0.002107
Epoch 168
-------------------------------
Train loss: 0.002634
Epoch 169
-------------------------------
Train loss: 0.002447
Epoch 170
-------------------------------
Train loss: 0.002342
Epoch 171
-------------------------------
Train loss: 0.002703
Epoch 172
-------------------------------
Train loss: 0.002620
Epoch 173
-------------------------------
Train loss: 0.002537
Epoch 174
-------------------------------
Train loss: 0.002358
Epoch 175
-------------------------------
Train loss: 0.002213
Epoch 176
-------------------------------
Train loss: 0.002243
Epoch 177
-------------------------------
Train loss: 0.002179
Epoch 178
-------------------------------
Train loss: 0.002263
Epoch 179
-------------------------------
Train loss: 0.002117
Epoch 180
-------------------------------
Train loss: 0.002102
Epoch 181
-------------------------------
Train loss: 0.002042
Epoch 182
-------------------------------
Train loss: 0.002114
Epoch 183
-------------------------------
Train loss: 0.002037
Epoch 184
-------------------------------
Train loss: 0.002059
Epoch 185
-------------------------------
Train loss: 0.001963
Epoch 186
-------------------------------
Train loss: 0.001970
Epoch 187
-------------------------------
Train loss: 0.001936
Epoch 188
-------------------------------
Train loss: 0.001960
Epoch 189
-------------------------------
Train loss: 0.002015
Epoch 190
-------------------------------
Train loss: 0.001953
Epoch 191
-------------------------------
Train loss: 0.002030
Epoch 192
-------------------------------
Train loss: 0.001905
Epoch 193
-------------------------------
Train loss: 0.002090
Epoch 194
-------------------------------
Train loss: 0.002027
Epoch 195
-------------------------------
Train loss: 0.002084
Epoch 196
-------------------------------
Train loss: 0.002092
Epoch 197
-------------------------------
Train loss: 0.002323
Epoch 198
-------------------------------
Train loss: 0.002340
Epoch 199
-------------------------------
Train loss: 0.002519
Epoch 200
-------------------------------
Train loss: 0.002291
Epoch 201
-------------------------------
Train loss: 0.002199
Epoch 202
-------------------------------
Train loss: 0.002262
Epoch 203
-------------------------------
Train loss: 0.002136
Epoch 204
-------------------------------
Train loss: 0.002153
Epoch 205
-------------------------------
Train loss: 0.002183
Epoch 206
-------------------------------
Train loss: 0.002088
Epoch 207
-------------------------------
Train loss: 0.002062
Epoch 208
-------------------------------
Train loss: 0.001934
Epoch 209
-------------------------------
Train loss: 0.001975
Epoch 210
-------------------------------
Train loss: 0.001952
Epoch 211
-------------------------------
Train loss: 0.001943
Epoch 212
-------------------------------
Train loss: 0.001883
Epoch 213
-------------------------------
Train loss: 0.001936
Epoch 214
-------------------------------
Train loss: 0.001813
Epoch 215
-------------------------------
Train loss: 0.001870
Epoch 216
-------------------------------
Train loss: 0.001805
Epoch 217
-------------------------------
Train loss: 0.001817
Epoch 218
-------------------------------
Train loss: 0.001791
Epoch 219
-------------------------------
Train loss: 0.001743
Epoch 220
-------------------------------
Train loss: 0.001732
Epoch 221
-------------------------------
Train loss: 0.001757
Epoch 222
-------------------------------
Train loss: 0.001728
Epoch 223
-------------------------------
Train loss: 0.001706
Epoch 224
-------------------------------
Train loss: 0.001711
Epoch 225
-------------------------------
Train loss: 0.001723
Epoch 226
-------------------------------
Train loss: 0.001705
Epoch 227
-------------------------------
Train loss: 0.001804
Epoch 228
-------------------------------
Train loss: 0.001756
Epoch 229
-------------------------------
Train loss: 0.001674
Epoch 230
-------------------------------
Train loss: 0.001715
Epoch 231
-------------------------------
Train loss: 0.001810
Epoch 232
-------------------------------
Train loss: 0.001901
Epoch 233
-------------------------------
Train loss: 0.001664
Epoch 234
-------------------------------
Train loss: 0.002088
Epoch 235
-------------------------------
Train loss: 0.002065
Epoch 236
-------------------------------
Train loss: 0.001965
Epoch 237
-------------------------------
Train loss: 0.001829
Epoch 238
-------------------------------
Train loss: 0.002123
Epoch 239
-------------------------------
Train loss: 0.001953
Epoch 240
-------------------------------
Train loss: 0.002015
Epoch 241
-------------------------------
Train loss: 0.002339
Epoch 242
-------------------------------
Train loss: 0.002196
Epoch 243
-------------------------------
Train loss: 0.002151
Epoch 244
-------------------------------
Train loss: 0.002147
Epoch 245
-------------------------------
Train loss: 0.001947
Epoch 246
-------------------------------
Train loss: 0.002042
Epoch 247
-------------------------------
Train loss: 0.001949
Epoch 248
-------------------------------
Train loss: 0.001948
Epoch 249
-------------------------------
Train loss: 0.001986
Epoch 250
-------------------------------
Train loss: 0.001920
Epoch 251
-------------------------------
Train loss: 0.001770
Epoch 252
-------------------------------
Train loss: 0.001901
Epoch 253
-------------------------------
Train loss: 0.001877
Epoch 254
-------------------------------
Train loss: 0.001814
Epoch 255
-------------------------------
Train loss: 0.001729
Epoch 256
-------------------------------
Train loss: 0.001757
Epoch 257
-------------------------------
Train loss: 0.001657
Epoch 258
-------------------------------
Train loss: 0.001690
Epoch 259
-------------------------------
Train loss: 0.001660
Epoch 260
-------------------------------
Train loss: 0.001741
Epoch 261
-------------------------------
Train loss: 0.001644
Epoch 262
-------------------------------
Train loss: 0.001766
Epoch 263
-------------------------------
Train loss: 0.001649
Epoch 264
-------------------------------
Train loss: 0.001684
Epoch 265
-------------------------------
Train loss: 0.001658
Epoch 266
-------------------------------
Train loss: 0.001654
Epoch 267
-------------------------------
Train loss: 0.001743
Epoch 268
-------------------------------
Train loss: 0.001639
Epoch 269
-------------------------------
Train loss: 0.001647
Epoch 270
-------------------------------
Train loss: 0.001660
Epoch 271
-------------------------------
Train loss: 0.001696
Epoch 272
-------------------------------
Train loss: 0.001580
Epoch 273
-------------------------------
Train loss: 0.001659
Epoch 274
-------------------------------
Train loss: 0.001633
Epoch 275
-------------------------------
Train loss: 0.001651
Epoch 276
-------------------------------
Train loss: 0.001619
Epoch 277
-------------------------------
Train loss: 0.001548
Epoch 278
-------------------------------
Train loss: 0.001604
Epoch 279
-------------------------------
Train loss: 0.001572
Epoch 280
-------------------------------
Train loss: 0.001544
Epoch 281
-------------------------------
Train loss: 0.001615
Epoch 282
-------------------------------
Train loss: 0.001555
Epoch 283
-------------------------------
Train loss: 0.001541
Epoch 284
-------------------------------
Train loss: 0.001503
Epoch 285
-------------------------------
Train loss: 0.001522
Epoch 286
-------------------------------
Train loss: 0.001494
Epoch 287
-------------------------------
Train loss: 0.001481
Epoch 288
-------------------------------
Train loss: 0.001504
Epoch 289
-------------------------------
Train loss: 0.001432
Epoch 290
-------------------------------
Train loss: 0.001557
Epoch 291
-------------------------------
Train loss: 0.001522
Epoch 292
-------------------------------
Train loss: 0.001469
Epoch 293
-------------------------------
Train loss: 0.001514
Epoch 294
-------------------------------
Train loss: 0.001445
Epoch 295
-------------------------------
Train loss: 0.001489
Epoch 296
-------------------------------
Train loss: 0.001509
Epoch 297
-------------------------------
Train loss: 0.001492
Epoch 298
-------------------------------
Train loss: 0.001453
Epoch 299
-------------------------------
Train loss: 0.001436
Epoch 300
-------------------------------
Train loss: 0.001532
Epoch 301
-------------------------------
Train loss: 0.001548
Epoch 302
-------------------------------
Train loss: 0.001499
Epoch 303
-------------------------------
Train loss: 0.001477
Epoch 304
-------------------------------
Train loss: 0.001475
Epoch 305
-------------------------------
Train loss: 0.001397
Epoch 306
-------------------------------
Train loss: 0.001428
Epoch 307
-------------------------------
Train loss: 0.001423
Epoch 308
-------------------------------
Train loss: 0.001412
Epoch 309
-------------------------------
Train loss: 0.001452
Epoch 310
-------------------------------
Train loss: 0.001431
Epoch 311
-------------------------------
Train loss: 0.001446
Epoch 312
-------------------------------
Train loss: 0.001415
Epoch 313
-------------------------------
Train loss: 0.001400
Epoch 314
-------------------------------
Train loss: 0.001485
Epoch 315
-------------------------------
Train loss: 0.001599
Epoch 316
-------------------------------
Train loss: 0.001516
Epoch 317
-------------------------------
Train loss: 0.001457
Epoch 318
-------------------------------
Train loss: 0.001500
Epoch 319
-------------------------------
Train loss: 0.001454
Epoch 320
-------------------------------
Train loss: 0.001399
Epoch 321
-------------------------------
Train loss: 0.001663
Epoch 322
-------------------------------
Train loss: 0.001687
Epoch 323
-------------------------------
Train loss: 0.001524
Epoch 324
-------------------------------
Train loss: 0.001761
Epoch 325
-------------------------------
Train loss: 0.001611
Epoch 326
-------------------------------
Train loss: 0.002054
Epoch 327
-------------------------------
Train loss: 0.001913
Epoch 328
-------------------------------
Train loss: 0.001994
Epoch 329
-------------------------------
Train loss: 0.001956
Epoch 330
-------------------------------
Train loss: 0.001806
Epoch 331
-------------------------------
Train loss: 0.001755
Epoch 332
-------------------------------
Train loss: 0.001642
Epoch 333
-------------------------------
Train loss: 0.001646
Epoch 334
-------------------------------
Train loss: 0.001641
Epoch 335
-------------------------------
Train loss: 0.001575
Epoch 336
-------------------------------
Train loss: 0.001536
Epoch 337
-------------------------------
Train loss: 0.001522
Epoch 338
-------------------------------
Train loss: 0.001502
Epoch 339
-------------------------------
Train loss: 0.001479
Epoch 340
-------------------------------
Train loss: 0.001435
Epoch 341
-------------------------------
Train loss: 0.001515
Epoch 342
-------------------------------
Train loss: 0.001381
Epoch 343
-------------------------------
Train loss: 0.001443
Epoch 344
-------------------------------
Train loss: 0.001411
Epoch 345
-------------------------------
Train loss: 0.001382
Epoch 346
-------------------------------
Train loss: 0.001324
Epoch 347
-------------------------------
Train loss: 0.001341
Epoch 348
-------------------------------
Train loss: 0.001321
Epoch 349
-------------------------------
Train loss: 0.001340
Epoch 350
-------------------------------
Train loss: 0.001341
Epoch 351
-------------------------------
Train loss: 0.001341
Epoch 352
-------------------------------
Train loss: 0.001323
Epoch 353
-------------------------------
Train loss: 0.001355
Epoch 354
-------------------------------
Train loss: 0.001377
Epoch 355
-------------------------------
Train loss: 0.001313
Epoch 356
-------------------------------
Train loss: 0.001325
Epoch 357
-------------------------------
Train loss: 0.001344
Epoch 358
-------------------------------
Train loss: 0.001294
Epoch 359
-------------------------------
Train loss: 0.001296
Epoch 360
-------------------------------
Train loss: 0.001377
Epoch 361
-------------------------------
Train loss: 0.001291
Epoch 362
-------------------------------
Train loss: 0.001482
Epoch 363
-------------------------------
Train loss: 0.001436
Epoch 364
-------------------------------
Train loss: 0.001476
Epoch 365
-------------------------------
Train loss: 0.001368
Epoch 366
-------------------------------
Train loss: 0.001990
Epoch 367
-------------------------------
Train loss: 0.001963
Epoch 368
-------------------------------
Train loss: 0.002019
Epoch 369
-------------------------------
Train loss: 0.002024
Epoch 370
-------------------------------
Train loss: 0.001985
Epoch 371
-------------------------------
Train loss: 0.002026
Epoch 372
-------------------------------
Train loss: 0.001886
Epoch 373
-------------------------------
Train loss: 0.001857
Epoch 374
-------------------------------
Train loss: 0.001835
Epoch 375
-------------------------------
Train loss: 0.001742
Epoch 376
-------------------------------
Train loss: 0.001690
Epoch 377
-------------------------------
Train loss: 0.001664
Epoch 378
-------------------------------
Train loss: 0.001570
Epoch 379
-------------------------------
Train loss: 0.001589
Epoch 380
-------------------------------
Train loss: 0.001491
Epoch 381
-------------------------------
Train loss: 0.001498
Epoch 382
-------------------------------
Train loss: 0.001429
Epoch 383
-------------------------------
Train loss: 0.001389
Epoch 384
-------------------------------
Train loss: 0.001384
Epoch 385
-------------------------------
Train loss: 0.001384
Epoch 386
-------------------------------
Train loss: 0.001364
Epoch 387
-------------------------------
Train loss: 0.001339
Epoch 388
-------------------------------
Train loss: 0.001341
Epoch 389
-------------------------------
Train loss: 0.001302
Epoch 390
-------------------------------
Train loss: 0.001328
Epoch 391
-------------------------------
Train loss: 0.001316
Epoch 392
-------------------------------
Train loss: 0.001259
Epoch 393
-------------------------------
Train loss: 0.001281
Epoch 394
-------------------------------
Train loss: 0.001232
Epoch 395
-------------------------------
Train loss: 0.001230
Epoch 396
-------------------------------
Train loss: 0.001244
Epoch 397
-------------------------------
Train loss: 0.001216
Epoch 398
-------------------------------
Train loss: 0.001214
Epoch 399
-------------------------------
Train loss: 0.001217
Epoch 400
-------------------------------
Train loss: 0.001240
Epoch 401
-------------------------------
Train loss: 0.001213
Epoch 402
-------------------------------
Train loss: 0.001212
Epoch 403
-------------------------------
Train loss: 0.001194
Epoch 404
-------------------------------
Train loss: 0.001192
Epoch 405
-------------------------------
Train loss: 0.001205
Epoch 406
-------------------------------
Train loss: 0.001168
Epoch 407
-------------------------------
Train loss: 0.001274
Epoch 408
-------------------------------
Train loss: 0.001315
Epoch 409
-------------------------------
Train loss: 0.001194
Epoch 410
-------------------------------
Train loss: 0.001202
Epoch 411
-------------------------------
Train loss: 0.001267
Epoch 412
-------------------------------
Train loss: 0.001176
Epoch 413
-------------------------------
Train loss: 0.001254
Epoch 414
-------------------------------
Train loss: 0.001372
Epoch 415
-------------------------------
Train loss: 0.001248
Epoch 416
-------------------------------
Train loss: 0.001455
Epoch 417
-------------------------------
Train loss: 0.001343
Epoch 418
-------------------------------
Train loss: 0.001848
Epoch 419
-------------------------------
Train loss: 0.001597
Epoch 420
-------------------------------
Train loss: 0.001671
Epoch 421
-------------------------------
Train loss: 0.001561
Epoch 422
-------------------------------
Train loss: 0.001590
Epoch 423
-------------------------------
Train loss: 0.001666
Epoch 424
-------------------------------
Train loss: 0.001484
Epoch 425
-------------------------------
Train loss: 0.001547
Epoch 426
-------------------------------
Train loss: 0.001518
Epoch 427
-------------------------------
Train loss: 0.001423
Epoch 428
-------------------------------
Train loss: 0.001449
Epoch 429
-------------------------------
Train loss: 0.001448
Epoch 430
-------------------------------
Train loss: 0.001388
Epoch 431
-------------------------------
Train loss: 0.001408
Epoch 432
-------------------------------
Train loss: 0.001475
Epoch 433
-------------------------------
Train loss: 0.001420
Epoch 434
-------------------------------
Train loss: 0.001358
Epoch 435
-------------------------------
Train loss: 0.001316
Epoch 436
-------------------------------
Train loss: 0.001382
Epoch 437
-------------------------------
Train loss: 0.001435
Epoch 438
-------------------------------
Train loss: 0.001412
Epoch 439
-------------------------------
Train loss: 0.001343
Epoch 440
-------------------------------
Train loss: 0.001416
Epoch 441
-------------------------------
Train loss: 0.001279
Epoch 442
-------------------------------
Train loss: 0.001358
Epoch 443
-------------------------------
Train loss: 0.001264
Epoch 444
-------------------------------
Train loss: 0.001316
Epoch 445
-------------------------------
Train loss: 0.001380
Epoch 446
-------------------------------
Train loss: 0.001405
Epoch 447
-------------------------------
Train loss: 0.001370
Epoch 448
-------------------------------
Train loss: 0.001273
Epoch 449
-------------------------------
Train loss: 0.001305
Epoch 450
-------------------------------
Train loss: 0.001272
Epoch 451
-------------------------------
Train loss: 0.001280
Epoch 452
-------------------------------
Train loss: 0.001245
Epoch 453
-------------------------------
Train loss: 0.001196
Epoch 454
-------------------------------
Train loss: 0.001206
Epoch 455
-------------------------------
Train loss: 0.001347
Epoch 456
-------------------------------
Train loss: 0.001249
Epoch 457
-------------------------------
Train loss: 0.001187
Epoch 458
-------------------------------
Train loss: 0.001250
Epoch 459
-------------------------------
Train loss: 0.001275
Epoch 460
-------------------------------
Train loss: 0.001266
Epoch 461
-------------------------------
Train loss: 0.001195
Epoch 462
-------------------------------
Train loss: 0.001191
Epoch 463
-------------------------------
Train loss: 0.001291
Epoch 464
-------------------------------
Train loss: 0.001320
Epoch 465
-------------------------------
Train loss: 0.001236
Epoch 466
-------------------------------
Train loss: 0.001251
Epoch 467
-------------------------------
Train loss: 0.001184
Epoch 468
-------------------------------
Train loss: 0.001347
Epoch 469
-------------------------------
Train loss: 0.001275
Epoch 470
-------------------------------
Train loss: 0.001316
Epoch 471
-------------------------------
Train loss: 0.001185
Epoch 472
-------------------------------
Train loss: 0.001170
Epoch 473
-------------------------------
Train loss: 0.001190
Epoch 474
-------------------------------
Train loss: 0.001234
Epoch 475
-------------------------------
Train loss: 0.001220
Epoch 476
-------------------------------
Train loss: 0.001184
Epoch 477
-------------------------------
Train loss: 0.001180
Epoch 478
-------------------------------
Train loss: 0.001144
Epoch 479
-------------------------------
Train loss: 0.001277
Epoch 480
-------------------------------
Train loss: 0.001198
Epoch 481
-------------------------------
Train loss: 0.001211
Epoch 482
-------------------------------
Train loss: 0.001151
Epoch 483
-------------------------------
Train loss: 0.001118
Epoch 484
-------------------------------
Train loss: 0.001120
Epoch 485
-------------------------------
Train loss: 0.001116
Epoch 486
-------------------------------
Train loss: 0.001082
Epoch 487
-------------------------------
Train loss: 0.001074
Epoch 488
-------------------------------
Train loss: 0.001089
Epoch 489
-------------------------------
Train loss: 0.001100
Epoch 490
-------------------------------
Train loss: 0.001080
Epoch 491
-------------------------------
Train loss: 0.001055
Epoch 492
-------------------------------
Train loss: 0.001073
Epoch 493
-------------------------------
Train loss: 0.001080
Epoch 494
-------------------------------
Train loss: 0.001052
Epoch 495
-------------------------------
Train loss: 0.001067
Epoch 496
-------------------------------
Train loss: 0.001033
Epoch 497
-------------------------------
Train loss: 0.001058
Epoch 498
-------------------------------
Train loss: 0.001080
Epoch 499
-------------------------------
Train loss: 0.001064
Epoch 500
-------------------------------
Train loss: 0.001044
Done!
In [14]:
import soundfile as sf

model.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('//content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)

    Xt_abs.astype(np.float32)

    Yt_abs = np.asarray(model(torch.tensor(Xt_abs.T))).T

    Yt = (Xt/ Xt_abs) * Yt_abs
    
    Yt = librosa.istft( Yt, hop_length=512)

    sf.write('Qs1_train_clean_male_recons_v1.wav', Yt, sr)
/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:1949: UserWarning: nn.functional.tanh is deprecated. Use torch.tanh instead.
  warnings.warn("nn.functional.tanh is deprecated. Use torch.tanh instead.")

Now, I am going to split my model into training and validation, and train it on only the training data, and get the results on the whole dataset

In [15]:
#Lets train a new model with setting aside part of our training set as validation set, and compute SNR
s, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr=None)
S=librosa.stft(s, n_fft=1024, hop_length=512)
sn, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr=None)
X=librosa.stft(sn, n_fft=1024, hop_length=512)
In [16]:
batch_size = 2000

X = X.T
S = S.T

s_mag = np.abs(S)
x_mag = np.abs(X)

X = torch.from_numpy(x_mag)
S = torch.from_numpy(s_mag)

train_dataset = TensorDataset(X, S)
dirty_train, dirty_validation = torch.utils.data.random_split(train_dataset, [2000, 459], generator=torch.Generator().manual_seed(42))

train_dataloader = DataLoader(dirty_train, batch_size=batch_size, shuffle=True)
validation_dataloader = DataLoader(dirty_validation, batch_size=batch_size, shuffle=True)
In [17]:
print(len(train_dataloader.dataset))
print(len(validation_dataloader.dataset))
2000
459
In [18]:
model = NeuralNetwork().to(device)
loss_fn = torch.nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters())
model.apply(xavier_initializer)
scheduler = StepLR(optimizer, step_size=50, gamma=0.1)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:3: UserWarning: nn.init.xavier_normal is now deprecated in favor of nn.init.xavier_normal_.
  This is separate from the ipykernel package so we can avoid doing imports until
In [19]:
train_epochs(train_dataloader, model, loss_fn, optimizer)
Epoch 1
-------------------------------
Train loss: 0.105531
Epoch 2
-------------------------------
Train loss: 0.085627
Epoch 3
-------------------------------
Train loss: 0.071953
Epoch 4
-------------------------------
Train loss: 0.062219
Epoch 5
-------------------------------
Train loss: 0.054606
Epoch 6
-------------------------------
Train loss: 0.049248
Epoch 7
-------------------------------
Train loss: 0.045140
Epoch 8
-------------------------------
Train loss: 0.041634
Epoch 9
-------------------------------
Train loss: 0.038545
Epoch 10
-------------------------------
Train loss: 0.035752
Epoch 11
-------------------------------
Train loss: 0.033412
Epoch 12
-------------------------------
Train loss: 0.031476
Epoch 13
-------------------------------
Train loss: 0.029801
Epoch 14
-------------------------------
Train loss: 0.028250
Epoch 15
-------------------------------
Train loss: 0.026812
Epoch 16
-------------------------------
Train loss: 0.025522
Epoch 17
-------------------------------
Train loss: 0.024371
Epoch 18
-------------------------------
Train loss: 0.023314
Epoch 19
-------------------------------
Train loss: 0.022349
Epoch 20
-------------------------------
Train loss: 0.021456
Epoch 21
-------------------------------
Train loss: 0.020615
Epoch 22
-------------------------------
Train loss: 0.019822
Epoch 23
-------------------------------
Train loss: 0.019092
Epoch 24
-------------------------------
Train loss: 0.018420
Epoch 25
-------------------------------
Train loss: 0.017781
Epoch 26
-------------------------------
Train loss: 0.017164
Epoch 27
-------------------------------
Train loss: 0.016575
Epoch 28
-------------------------------
Train loss: 0.016017
Epoch 29
-------------------------------
Train loss: 0.015497
Epoch 30
-------------------------------
Train loss: 0.015020
Epoch 31
-------------------------------
Train loss: 0.014566
Epoch 32
-------------------------------
Train loss: 0.014137
Epoch 33
-------------------------------
Train loss: 0.013730
Epoch 34
-------------------------------
Train loss: 0.013340
Epoch 35
-------------------------------
Train loss: 0.012986
Epoch 36
-------------------------------
Train loss: 0.012755
Epoch 37
-------------------------------
Train loss: 0.012995
Epoch 38
-------------------------------
Train loss: 0.013978
Epoch 39
-------------------------------
Train loss: 0.011949
Epoch 40
-------------------------------
Train loss: 0.013307
Epoch 41
-------------------------------
Train loss: 0.012280
Epoch 42
-------------------------------
Train loss: 0.012611
Epoch 43
-------------------------------
Train loss: 0.011121
Epoch 44
-------------------------------
Train loss: 0.012278
Epoch 45
-------------------------------
Train loss: 0.010706
Epoch 46
-------------------------------
Train loss: 0.011630
Epoch 47
-------------------------------
Train loss: 0.010361
Epoch 48
-------------------------------
Train loss: 0.010932
Epoch 49
-------------------------------
Train loss: 0.009958
Epoch 50
-------------------------------
Train loss: 0.010187
Epoch 51
-------------------------------
Train loss: 0.009875
Epoch 52
-------------------------------
Train loss: 0.009559
Epoch 53
-------------------------------
Train loss: 0.009711
Epoch 54
-------------------------------
Train loss: 0.009056
Epoch 55
-------------------------------
Train loss: 0.009250
Epoch 56
-------------------------------
Train loss: 0.008892
Epoch 57
-------------------------------
Train loss: 0.008848
Epoch 58
-------------------------------
Train loss: 0.008571
Epoch 59
-------------------------------
Train loss: 0.008450
Epoch 60
-------------------------------
Train loss: 0.008372
Epoch 61
-------------------------------
Train loss: 0.008192
Epoch 62
-------------------------------
Train loss: 0.008077
Epoch 63
-------------------------------
Train loss: 0.007882
Epoch 64
-------------------------------
Train loss: 0.007833
Epoch 65
-------------------------------
Train loss: 0.007663
Epoch 66
-------------------------------
Train loss: 0.007591
Epoch 67
-------------------------------
Train loss: 0.007415
Epoch 68
-------------------------------
Train loss: 0.007348
Epoch 69
-------------------------------
Train loss: 0.007237
Epoch 70
-------------------------------
Train loss: 0.007119
Epoch 71
-------------------------------
Train loss: 0.007012
Epoch 72
-------------------------------
Train loss: 0.006900
Epoch 73
-------------------------------
Train loss: 0.006835
Epoch 74
-------------------------------
Train loss: 0.006700
Epoch 75
-------------------------------
Train loss: 0.006624
Epoch 76
-------------------------------
Train loss: 0.006536
Epoch 77
-------------------------------
Train loss: 0.006439
Epoch 78
-------------------------------
Train loss: 0.006362
Epoch 79
-------------------------------
Train loss: 0.006272
Epoch 80
-------------------------------
Train loss: 0.006189
Epoch 81
-------------------------------
Train loss: 0.006115
Epoch 82
-------------------------------
Train loss: 0.006033
Epoch 83
-------------------------------
Train loss: 0.005954
Epoch 84
-------------------------------
Train loss: 0.005890
Epoch 85
-------------------------------
Train loss: 0.005810
Epoch 86
-------------------------------
Train loss: 0.005728
Epoch 87
-------------------------------
Train loss: 0.005665
Epoch 88
-------------------------------
Train loss: 0.005606
Epoch 89
-------------------------------
Train loss: 0.005538
Epoch 90
-------------------------------
Train loss: 0.005474
Epoch 91
-------------------------------
Train loss: 0.005411
Epoch 92
-------------------------------
Train loss: 0.005347
Epoch 93
-------------------------------
Train loss: 0.005293
Epoch 94
-------------------------------
Train loss: 0.005241
Epoch 95
-------------------------------
Train loss: 0.005229
Epoch 96
-------------------------------
Train loss: 0.005236
Epoch 97
-------------------------------
Train loss: 0.005487
Epoch 98
-------------------------------
Train loss: 0.005303
Epoch 99
-------------------------------
Train loss: 0.005379
Epoch 100
-------------------------------
Train loss: 0.005661
Epoch 101
-------------------------------
Train loss: 0.006952
Epoch 102
-------------------------------
Train loss: 0.005569
Epoch 103
-------------------------------
Train loss: 0.006884
Epoch 104
-------------------------------
Train loss: 0.005851
Epoch 105
-------------------------------
Train loss: 0.006521
Epoch 106
-------------------------------
Train loss: 0.005573
Epoch 107
-------------------------------
Train loss: 0.006217
Epoch 108
-------------------------------
Train loss: 0.005284
Epoch 109
-------------------------------
Train loss: 0.005885
Epoch 110
-------------------------------
Train loss: 0.005828
Epoch 111
-------------------------------
Train loss: 0.005368
Epoch 112
-------------------------------
Train loss: 0.005971
Epoch 113
-------------------------------
Train loss: 0.004996
Epoch 114
-------------------------------
Train loss: 0.005149
Epoch 115
-------------------------------
Train loss: 0.005586
Epoch 116
-------------------------------
Train loss: 0.005082
Epoch 117
-------------------------------
Train loss: 0.004843
Epoch 118
-------------------------------
Train loss: 0.005147
Epoch 119
-------------------------------
Train loss: 0.004623
Epoch 120
-------------------------------
Train loss: 0.004871
Epoch 121
-------------------------------
Train loss: 0.004558
Epoch 122
-------------------------------
Train loss: 0.004467
Epoch 123
-------------------------------
Train loss: 0.004563
Epoch 124
-------------------------------
Train loss: 0.004334
Epoch 125
-------------------------------
Train loss: 0.004381
Epoch 126
-------------------------------
Train loss: 0.004335
Epoch 127
-------------------------------
Train loss: 0.004216
Epoch 128
-------------------------------
Train loss: 0.004269
Epoch 129
-------------------------------
Train loss: 0.004084
Epoch 130
-------------------------------
Train loss: 0.004087
Epoch 131
-------------------------------
Train loss: 0.004114
Epoch 132
-------------------------------
Train loss: 0.003965
Epoch 133
-------------------------------
Train loss: 0.003928
Epoch 134
-------------------------------
Train loss: 0.003930
Epoch 135
-------------------------------
Train loss: 0.003851
Epoch 136
-------------------------------
Train loss: 0.003835
Epoch 137
-------------------------------
Train loss: 0.003809
Epoch 138
-------------------------------
Train loss: 0.003752
Epoch 139
-------------------------------
Train loss: 0.003719
Epoch 140
-------------------------------
Train loss: 0.003695
Epoch 141
-------------------------------
Train loss: 0.003676
Epoch 142
-------------------------------
Train loss: 0.003635
Epoch 143
-------------------------------
Train loss: 0.003585
Epoch 144
-------------------------------
Train loss: 0.003572
Epoch 145
-------------------------------
Train loss: 0.003547
Epoch 146
-------------------------------
Train loss: 0.003522
Epoch 147
-------------------------------
Train loss: 0.003483
Epoch 148
-------------------------------
Train loss: 0.003444
Epoch 149
-------------------------------
Train loss: 0.003430
Epoch 150
-------------------------------
Train loss: 0.003400
Epoch 151
-------------------------------
Train loss: 0.003386
Epoch 152
-------------------------------
Train loss: 0.003362
Epoch 153
-------------------------------
Train loss: 0.003355
Epoch 154
-------------------------------
Train loss: 0.003352
Epoch 155
-------------------------------
Train loss: 0.003385
Epoch 156
-------------------------------
Train loss: 0.003433
Epoch 157
-------------------------------
Train loss: 0.003659
Epoch 158
-------------------------------
Train loss: 0.003598
Epoch 159
-------------------------------
Train loss: 0.003618
Epoch 160
-------------------------------
Train loss: 0.003303
Epoch 161
-------------------------------
Train loss: 0.003191
Epoch 162
-------------------------------
Train loss: 0.003223
Epoch 163
-------------------------------
Train loss: 0.003276
Epoch 164
-------------------------------
Train loss: 0.003475
Epoch 165
-------------------------------
Train loss: 0.003318
Epoch 166
-------------------------------
Train loss: 0.003198
Epoch 167
-------------------------------
Train loss: 0.003075
Epoch 168
-------------------------------
Train loss: 0.003109
Epoch 169
-------------------------------
Train loss: 0.003305
Epoch 170
-------------------------------
Train loss: 0.003221
Epoch 171
-------------------------------
Train loss: 0.003196
Epoch 172
-------------------------------
Train loss: 0.003028
Epoch 173
-------------------------------
Train loss: 0.002993
Epoch 174
-------------------------------
Train loss: 0.003069
Epoch 175
-------------------------------
Train loss: 0.003098
Epoch 176
-------------------------------
Train loss: 0.003179
Epoch 177
-------------------------------
Train loss: 0.003010
Epoch 178
-------------------------------
Train loss: 0.002932
Epoch 179
-------------------------------
Train loss: 0.002943
Epoch 180
-------------------------------
Train loss: 0.003006
Epoch 181
-------------------------------
Train loss: 0.003082
Epoch 182
-------------------------------
Train loss: 0.002971
Epoch 183
-------------------------------
Train loss: 0.002881
Epoch 184
-------------------------------
Train loss: 0.002812
Epoch 185
-------------------------------
Train loss: 0.002840
Epoch 186
-------------------------------
Train loss: 0.002948
Epoch 187
-------------------------------
Train loss: 0.002930
Epoch 188
-------------------------------
Train loss: 0.002923
Epoch 189
-------------------------------
Train loss: 0.002791
Epoch 190
-------------------------------
Train loss: 0.002721
Epoch 191
-------------------------------
Train loss: 0.002756
Epoch 192
-------------------------------
Train loss: 0.002833
Epoch 193
-------------------------------
Train loss: 0.002958
Epoch 194
-------------------------------
Train loss: 0.002844
Epoch 195
-------------------------------
Train loss: 0.002734
Epoch 196
-------------------------------
Train loss: 0.002671
Epoch 197
-------------------------------
Train loss: 0.002751
Epoch 198
-------------------------------
Train loss: 0.002881
Epoch 199
-------------------------------
Train loss: 0.002774
Epoch 200
-------------------------------
Train loss: 0.002796
Epoch 201
-------------------------------
Train loss: 0.002868
Epoch 202
-------------------------------
Train loss: 0.002856
Epoch 203
-------------------------------
Train loss: 0.002784
Epoch 204
-------------------------------
Train loss: 0.002682
Epoch 205
-------------------------------
Train loss: 0.002834
Epoch 206
-------------------------------
Train loss: 0.002688
Epoch 207
-------------------------------
Train loss: 0.002652
Epoch 208
-------------------------------
Train loss: 0.002848
Epoch 209
-------------------------------
Train loss: 0.002655
Epoch 210
-------------------------------
Train loss: 0.002878
Epoch 211
-------------------------------
Train loss: 0.003368
Epoch 212
-------------------------------
Train loss: 0.002782
Epoch 213
-------------------------------
Train loss: 0.003475
Epoch 214
-------------------------------
Train loss: 0.002982
Epoch 215
-------------------------------
Train loss: 0.003718
Epoch 216
-------------------------------
Train loss: 0.004165
Epoch 217
-------------------------------
Train loss: 0.004360
Epoch 218
-------------------------------
Train loss: 0.003635
Epoch 219
-------------------------------
Train loss: 0.004039
Epoch 220
-------------------------------
Train loss: 0.003205
Epoch 221
-------------------------------
Train loss: 0.003602
Epoch 222
-------------------------------
Train loss: 0.003669
Epoch 223
-------------------------------
Train loss: 0.003041
Epoch 224
-------------------------------
Train loss: 0.003495
Epoch 225
-------------------------------
Train loss: 0.003189
Epoch 226
-------------------------------
Train loss: 0.003006
Epoch 227
-------------------------------
Train loss: 0.003236
Epoch 228
-------------------------------
Train loss: 0.003091
Epoch 229
-------------------------------
Train loss: 0.002904
Epoch 230
-------------------------------
Train loss: 0.002990
Epoch 231
-------------------------------
Train loss: 0.002957
Epoch 232
-------------------------------
Train loss: 0.002792
Epoch 233
-------------------------------
Train loss: 0.002883
Epoch 234
-------------------------------
Train loss: 0.002835
Epoch 235
-------------------------------
Train loss: 0.002678
Epoch 236
-------------------------------
Train loss: 0.002835
Epoch 237
-------------------------------
Train loss: 0.002861
Epoch 238
-------------------------------
Train loss: 0.002598
Epoch 239
-------------------------------
Train loss: 0.002821
Epoch 240
-------------------------------
Train loss: 0.002732
Epoch 241
-------------------------------
Train loss: 0.002562
Epoch 242
-------------------------------
Train loss: 0.002808
Epoch 243
-------------------------------
Train loss: 0.002719
Epoch 244
-------------------------------
Train loss: 0.002518
Epoch 245
-------------------------------
Train loss: 0.002750
Epoch 246
-------------------------------
Train loss: 0.002612
Epoch 247
-------------------------------
Train loss: 0.002473
Epoch 248
-------------------------------
Train loss: 0.002722
Epoch 249
-------------------------------
Train loss: 0.002512
Epoch 250
-------------------------------
Train loss: 0.002401
Epoch 251
-------------------------------
Train loss: 0.002711
Epoch 252
-------------------------------
Train loss: 0.002546
Epoch 253
-------------------------------
Train loss: 0.002423
Epoch 254
-------------------------------
Train loss: 0.002682
Epoch 255
-------------------------------
Train loss: 0.002341
Epoch 256
-------------------------------
Train loss: 0.002396
Epoch 257
-------------------------------
Train loss: 0.002517
Epoch 258
-------------------------------
Train loss: 0.002290
Epoch 259
-------------------------------
Train loss: 0.002314
Epoch 260
-------------------------------
Train loss: 0.002385
Epoch 261
-------------------------------
Train loss: 0.002225
Epoch 262
-------------------------------
Train loss: 0.002238
Epoch 263
-------------------------------
Train loss: 0.002307
Epoch 264
-------------------------------
Train loss: 0.002195
Epoch 265
-------------------------------
Train loss: 0.002167
Epoch 266
-------------------------------
Train loss: 0.002254
Epoch 267
-------------------------------
Train loss: 0.002196
Epoch 268
-------------------------------
Train loss: 0.002118
Epoch 269
-------------------------------
Train loss: 0.002199
Epoch 270
-------------------------------
Train loss: 0.002177
Epoch 271
-------------------------------
Train loss: 0.002096
Epoch 272
-------------------------------
Train loss: 0.002140
Epoch 273
-------------------------------
Train loss: 0.002163
Epoch 274
-------------------------------
Train loss: 0.002079
Epoch 275
-------------------------------
Train loss: 0.002073
Epoch 276
-------------------------------
Train loss: 0.002112
Epoch 277
-------------------------------
Train loss: 0.002071
Epoch 278
-------------------------------
Train loss: 0.002024
Epoch 279
-------------------------------
Train loss: 0.002043
Epoch 280
-------------------------------
Train loss: 0.002052
Epoch 281
-------------------------------
Train loss: 0.002011
Epoch 282
-------------------------------
Train loss: 0.001989
Epoch 283
-------------------------------
Train loss: 0.002007
Epoch 284
-------------------------------
Train loss: 0.002007
Epoch 285
-------------------------------
Train loss: 0.001980
Epoch 286
-------------------------------
Train loss: 0.001961
Epoch 287
-------------------------------
Train loss: 0.001961
Epoch 288
-------------------------------
Train loss: 0.001970
Epoch 289
-------------------------------
Train loss: 0.001960
Epoch 290
-------------------------------
Train loss: 0.001933
Epoch 291
-------------------------------
Train loss: 0.001928
Epoch 292
-------------------------------
Train loss: 0.001930
Epoch 293
-------------------------------
Train loss: 0.001927
Epoch 294
-------------------------------
Train loss: 0.001926
Epoch 295
-------------------------------
Train loss: 0.001907
Epoch 296
-------------------------------
Train loss: 0.001890
Epoch 297
-------------------------------
Train loss: 0.001888
Epoch 298
-------------------------------
Train loss: 0.001889
Epoch 299
-------------------------------
Train loss: 0.001886
Epoch 300
-------------------------------
Train loss: 0.001884
Epoch 301
-------------------------------
Train loss: 0.001879
Epoch 302
-------------------------------
Train loss: 0.001869
Epoch 303
-------------------------------
Train loss: 0.001858
Epoch 304
-------------------------------
Train loss: 0.001850
Epoch 305
-------------------------------
Train loss: 0.001842
Epoch 306
-------------------------------
Train loss: 0.001835
Epoch 307
-------------------------------
Train loss: 0.001832
Epoch 308
-------------------------------
Train loss: 0.001827
Epoch 309
-------------------------------
Train loss: 0.001823
Epoch 310
-------------------------------
Train loss: 0.001821
Epoch 311
-------------------------------
Train loss: 0.001825
Epoch 312
-------------------------------
Train loss: 0.001838
Epoch 313
-------------------------------
Train loss: 0.001859
Epoch 314
-------------------------------
Train loss: 0.001926
Epoch 315
-------------------------------
Train loss: 0.001975
Epoch 316
-------------------------------
Train loss: 0.002128
Epoch 317
-------------------------------
Train loss: 0.002040
Epoch 318
-------------------------------
Train loss: 0.002005
Epoch 319
-------------------------------
Train loss: 0.001839
Epoch 320
-------------------------------
Train loss: 0.001776
Epoch 321
-------------------------------
Train loss: 0.001804
Epoch 322
-------------------------------
Train loss: 0.001879
Epoch 323
-------------------------------
Train loss: 0.001998
Epoch 324
-------------------------------
Train loss: 0.001937
Epoch 325
-------------------------------
Train loss: 0.001875
Epoch 326
-------------------------------
Train loss: 0.001772
Epoch 327
-------------------------------
Train loss: 0.001762
Epoch 328
-------------------------------
Train loss: 0.001822
Epoch 329
-------------------------------
Train loss: 0.001862
Epoch 330
-------------------------------
Train loss: 0.001891
Epoch 331
-------------------------------
Train loss: 0.001797
Epoch 332
-------------------------------
Train loss: 0.001749
Epoch 333
-------------------------------
Train loss: 0.001756
Epoch 334
-------------------------------
Train loss: 0.001791
Epoch 335
-------------------------------
Train loss: 0.001821
Epoch 336
-------------------------------
Train loss: 0.001775
Epoch 337
-------------------------------
Train loss: 0.001743
Epoch 338
-------------------------------
Train loss: 0.001741
Epoch 339
-------------------------------
Train loss: 0.001776
Epoch 340
-------------------------------
Train loss: 0.001772
Epoch 341
-------------------------------
Train loss: 0.001735
Epoch 342
-------------------------------
Train loss: 0.001695
Epoch 343
-------------------------------
Train loss: 0.001693
Epoch 344
-------------------------------
Train loss: 0.001720
Epoch 345
-------------------------------
Train loss: 0.001732
Epoch 346
-------------------------------
Train loss: 0.001732
Epoch 347
-------------------------------
Train loss: 0.001700
Epoch 348
-------------------------------
Train loss: 0.001693
Epoch 349
-------------------------------
Train loss: 0.001718
Epoch 350
-------------------------------
Train loss: 0.001775
Epoch 351
-------------------------------
Train loss: 0.001776
Epoch 352
-------------------------------
Train loss: 0.001822
Epoch 353
-------------------------------
Train loss: 0.001813
Epoch 354
-------------------------------
Train loss: 0.001890
Epoch 355
-------------------------------
Train loss: 0.001766
Epoch 356
-------------------------------
Train loss: 0.001711
Epoch 357
-------------------------------
Train loss: 0.001687
Epoch 358
-------------------------------
Train loss: 0.001677
Epoch 359
-------------------------------
Train loss: 0.001661
Epoch 360
-------------------------------
Train loss: 0.001641
Epoch 361
-------------------------------
Train loss: 0.001647
Epoch 362
-------------------------------
Train loss: 0.001678
Epoch 363
-------------------------------
Train loss: 0.001741
Epoch 364
-------------------------------
Train loss: 0.001726
Epoch 365
-------------------------------
Train loss: 0.001722
Epoch 366
-------------------------------
Train loss: 0.001696
Epoch 367
-------------------------------
Train loss: 0.001714
Epoch 368
-------------------------------
Train loss: 0.001663
Epoch 369
-------------------------------
Train loss: 0.001630
Epoch 370
-------------------------------
Train loss: 0.001619
Epoch 371
-------------------------------
Train loss: 0.001648
Epoch 372
-------------------------------
Train loss: 0.001721
Epoch 373
-------------------------------
Train loss: 0.001703
Epoch 374
-------------------------------
Train loss: 0.001751
Epoch 375
-------------------------------
Train loss: 0.001675
Epoch 376
-------------------------------
Train loss: 0.001617
Epoch 377
-------------------------------
Train loss: 0.001579
Epoch 378
-------------------------------
Train loss: 0.001580
Epoch 379
-------------------------------
Train loss: 0.001619
Epoch 380
-------------------------------
Train loss: 0.001647
Epoch 381
-------------------------------
Train loss: 0.001699
Epoch 382
-------------------------------
Train loss: 0.001617
Epoch 383
-------------------------------
Train loss: 0.001575
Epoch 384
-------------------------------
Train loss: 0.001602
Epoch 385
-------------------------------
Train loss: 0.001636
Epoch 386
-------------------------------
Train loss: 0.001752
Epoch 387
-------------------------------
Train loss: 0.001741
Epoch 388
-------------------------------
Train loss: 0.001960
Epoch 389
-------------------------------
Train loss: 0.001894
Epoch 390
-------------------------------
Train loss: 0.001926
Epoch 391
-------------------------------
Train loss: 0.001668
Epoch 392
-------------------------------
Train loss: 0.001747
Epoch 393
-------------------------------
Train loss: 0.001801
Epoch 394
-------------------------------
Train loss: 0.001825
Epoch 395
-------------------------------
Train loss: 0.002196
Epoch 396
-------------------------------
Train loss: 0.001665
Epoch 397
-------------------------------
Train loss: 0.001795
Epoch 398
-------------------------------
Train loss: 0.002228
Epoch 399
-------------------------------
Train loss: 0.001825
Epoch 400
-------------------------------
Train loss: 0.002163
Epoch 401
-------------------------------
Train loss: 0.002026
Epoch 402
-------------------------------
Train loss: 0.002314
Epoch 403
-------------------------------
Train loss: 0.002179
Epoch 404
-------------------------------
Train loss: 0.001979
Epoch 405
-------------------------------
Train loss: 0.002149
Epoch 406
-------------------------------
Train loss: 0.001908
Epoch 407
-------------------------------
Train loss: 0.001806
Epoch 408
-------------------------------
Train loss: 0.001820
Epoch 409
-------------------------------
Train loss: 0.001927
Epoch 410
-------------------------------
Train loss: 0.001724
Epoch 411
-------------------------------
Train loss: 0.001905
Epoch 412
-------------------------------
Train loss: 0.001758
Epoch 413
-------------------------------
Train loss: 0.001732
Epoch 414
-------------------------------
Train loss: 0.001755
Epoch 415
-------------------------------
Train loss: 0.001729
Epoch 416
-------------------------------
Train loss: 0.001683
Epoch 417
-------------------------------
Train loss: 0.001626
Epoch 418
-------------------------------
Train loss: 0.001650
Epoch 419
-------------------------------
Train loss: 0.001634
Epoch 420
-------------------------------
Train loss: 0.001614
Epoch 421
-------------------------------
Train loss: 0.001572
Epoch 422
-------------------------------
Train loss: 0.001601
Epoch 423
-------------------------------
Train loss: 0.001612
Epoch 424
-------------------------------
Train loss: 0.001588
Epoch 425
-------------------------------
Train loss: 0.001546
Epoch 426
-------------------------------
Train loss: 0.001575
Epoch 427
-------------------------------
Train loss: 0.001535
Epoch 428
-------------------------------
Train loss: 0.001621
Epoch 429
-------------------------------
Train loss: 0.001639
Epoch 430
-------------------------------
Train loss: 0.001548
Epoch 431
-------------------------------
Train loss: 0.001529
Epoch 432
-------------------------------
Train loss: 0.001555
Epoch 433
-------------------------------
Train loss: 0.001554
Epoch 434
-------------------------------
Train loss: 0.001517
Epoch 435
-------------------------------
Train loss: 0.001463
Epoch 436
-------------------------------
Train loss: 0.001481
Epoch 437
-------------------------------
Train loss: 0.001488
Epoch 438
-------------------------------
Train loss: 0.001482
Epoch 439
-------------------------------
Train loss: 0.001463
Epoch 440
-------------------------------
Train loss: 0.001449
Epoch 441
-------------------------------
Train loss: 0.001451
Epoch 442
-------------------------------
Train loss: 0.001471
Epoch 443
-------------------------------
Train loss: 0.001464
Epoch 444
-------------------------------
Train loss: 0.001498
Epoch 445
-------------------------------
Train loss: 0.001501
Epoch 446
-------------------------------
Train loss: 0.001552
Epoch 447
-------------------------------
Train loss: 0.001541
Epoch 448
-------------------------------
Train loss: 0.001565
Epoch 449
-------------------------------
Train loss: 0.001518
Epoch 450
-------------------------------
Train loss: 0.001498
Epoch 451
-------------------------------
Train loss: 0.001462
Epoch 452
-------------------------------
Train loss: 0.001434
Epoch 453
-------------------------------
Train loss: 0.001443
Epoch 454
-------------------------------
Train loss: 0.001405
Epoch 455
-------------------------------
Train loss: 0.001420
Epoch 456
-------------------------------
Train loss: 0.001391
Epoch 457
-------------------------------
Train loss: 0.001412
Epoch 458
-------------------------------
Train loss: 0.001393
Epoch 459
-------------------------------
Train loss: 0.001396
Epoch 460
-------------------------------
Train loss: 0.001386
Epoch 461
-------------------------------
Train loss: 0.001392
Epoch 462
-------------------------------
Train loss: 0.001390
Epoch 463
-------------------------------
Train loss: 0.001416
Epoch 464
-------------------------------
Train loss: 0.001422
Epoch 465
-------------------------------
Train loss: 0.001476
Epoch 466
-------------------------------
Train loss: 0.001496
Epoch 467
-------------------------------
Train loss: 0.001600
Epoch 468
-------------------------------
Train loss: 0.001557
Epoch 469
-------------------------------
Train loss: 0.001577
Epoch 470
-------------------------------
Train loss: 0.001472
Epoch 471
-------------------------------
Train loss: 0.001387
Epoch 472
-------------------------------
Train loss: 0.001382
Epoch 473
-------------------------------
Train loss: 0.001349
Epoch 474
-------------------------------
Train loss: 0.001395
Epoch 475
-------------------------------
Train loss: 0.001376
Epoch 476
-------------------------------
Train loss: 0.001421
Epoch 477
-------------------------------
Train loss: 0.001392
Epoch 478
-------------------------------
Train loss: 0.001406
Epoch 479
-------------------------------
Train loss: 0.001370
Epoch 480
-------------------------------
Train loss: 0.001362
Epoch 481
-------------------------------
Train loss: 0.001338
Epoch 482
-------------------------------
Train loss: 0.001332
Epoch 483
-------------------------------
Train loss: 0.001324
Epoch 484
-------------------------------
Train loss: 0.001331
Epoch 485
-------------------------------
Train loss: 0.001343
Epoch 486
-------------------------------
Train loss: 0.001360
Epoch 487
-------------------------------
Train loss: 0.001400
Epoch 488
-------------------------------
Train loss: 0.001427
Epoch 489
-------------------------------
Train loss: 0.001521
Epoch 490
-------------------------------
Train loss: 0.001486
Epoch 491
-------------------------------
Train loss: 0.001513
Epoch 492
-------------------------------
Train loss: 0.001409
Epoch 493
-------------------------------
Train loss: 0.001364
Epoch 494
-------------------------------
Train loss: 0.001333
Epoch 495
-------------------------------
Train loss: 0.001316
Epoch 496
-------------------------------
Train loss: 0.001337
Epoch 497
-------------------------------
Train loss: 0.001345
Epoch 498
-------------------------------
Train loss: 0.001389
Epoch 499
-------------------------------
Train loss: 0.001379
Epoch 500
-------------------------------
Train loss: 0.001404
Done!
In [20]:
model.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('//content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)

    Xt_abs.astype(np.float32)

    Yt_abs = np.asarray(model(torch.tensor(Xt_abs.T))).T

    Yt = (Xt/ Xt_abs) * Yt_abs
    
    Yt = librosa.istft( Yt, hop_length=512)

    sf.write('Qs1_train_clean_male_recons_v2.wav', Yt, sr)
In [21]:
# ground truth output
s, sr = librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr= None)
# predicted output
s_hat, sr_hat = librosa.load('/content/Qs1_train_clean_male_recons_v2.wav', sr= None)
In [115]:
# SNR function based on the assignment formula
def snr(s, s_hat, e=1e-20):
    snr = 10 * np.log10((np.sum(np.square(s))) / (np.sum(np.square(np.subtract(s, s_hat))) + e))
    return snr
In [23]:
len(s_hat)
Out[23]:
1258496
In [24]:
# match the output size to the one with lower length
print(snr(s[:len(s_hat)], s_hat))
14.86742453320684

Test the model on test examples

In [25]:
import soundfile as sf

model.to('cpu')
with torch.no_grad():

    Xt1, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_01.wav', sr= None)
    Xt2, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_02.wav', sr= None)

    Xt1=librosa.stft(Xt1, n_fft=1024, hop_length=512)
    Xt2=librosa.stft(Xt2, n_fft=1024, hop_length=512)

    Xt1_abs = np.abs(Xt1)
    Xt2_abs = np.abs(Xt2)

    Xt1_abs.astype(np.float32)
    Xt2_abs.astype(np.float32)

    Yt1_abs = np.asarray(model(torch.tensor(Xt1_abs.T))).T
    Yt2_abs = np.asarray(model(torch.tensor(Xt2_abs.T))).T

    Yt1 = (Xt1/ Xt1_abs) * Yt1_abs
    Yt2 = (Xt2/ Xt2_abs) * Yt2_abs
    
    Yt1 = librosa.istft( Yt1, hop_length=512)
    Yt2 = librosa.istft( Yt2, hop_length=512)

    sf.write('Qs1_test_s_01_recons.wav', Yt1, sr)
    sf.write('Qs1_test_s_02_recons.wav', Yt2, sr)

Question2

In [26]:
s, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr=None)
S=librosa.stft(s, n_fft=1024, hop_length=512)
sn, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr=None)
X=librosa.stft(sn, n_fft=1024, hop_length=512)
In [27]:
batch_size = 2000

X = X.T
S = S.T

s_mag = np.abs(S)
x_mag = np.abs(X)

X = torch.from_numpy(x_mag)
S = torch.from_numpy(s_mag)

train_dataset = TensorDataset(X, S)
dirty_train, dirty_validation = torch.utils.data.random_split(train_dataset, [2000, 459], generator=torch.Generator().manual_seed(42))

train_dataloader = DataLoader(dirty_train, batch_size=batch_size, shuffle=True)
validation_dataloader = DataLoader(dirty_validation, batch_size=batch_size, shuffle=True)
In [28]:
# calculate the output size for different input sizes
input = torch.randn(128, 1, 513)
conv = nn.Conv1d(1, 6, 6, stride=2)
output = conv(input)

print(output.shape)
torch.Size([128, 6, 254])
In [29]:
class CNN_1D(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv1d(in_channels=1, out_channels=6, kernel_size=6, stride=2)
        self.fc1 = nn.Linear(6*254, 513)

    def forward(self, x):
        x = x.unsqueeze(1)
        x = F.relu(self.conv1(x))
        x = torch.flatten(x, 1) # flatten all dimensions except batch
        x = F.relu(self.fc1(x))
        return x
In [30]:
cnn_1d = CNN_1D()
# cnn_1d = cnn_1d.to(device)
loss_fn = torch.nn.MSELoss()
optimizer = torch.optim.Adam(cnn_1d.parameters())
cnn_1d.apply(xavier_initializer)
scheduler = StepLR(optimizer, step_size=50, gamma=0.1)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:3: UserWarning: nn.init.xavier_normal is now deprecated in favor of nn.init.xavier_normal_.
  This is separate from the ipykernel package so we can avoid doing imports until
In [31]:
train_epochs(train_dataloader, cnn_1d, loss_fn, optimizer)
Epoch 1
-------------------------------
Train loss: 0.130368
Epoch 2
-------------------------------
Train loss: 0.097214
Epoch 3
-------------------------------
Train loss: 0.088212
Epoch 4
-------------------------------
Train loss: 0.086008
Epoch 5
-------------------------------
Train loss: 0.084805
Epoch 6
-------------------------------
Train loss: 0.083504
Epoch 7
-------------------------------
Train loss: 0.082068
Epoch 8
-------------------------------
Train loss: 0.080553
Epoch 9
-------------------------------
Train loss: 0.078963
Epoch 10
-------------------------------
Train loss: 0.077731
Epoch 11
-------------------------------
Train loss: 0.076414
Epoch 12
-------------------------------
Train loss: 0.074957
Epoch 13
-------------------------------
Train loss: 0.073510
Epoch 14
-------------------------------
Train loss: 0.072127
Epoch 15
-------------------------------
Train loss: 0.070837
Epoch 16
-------------------------------
Train loss: 0.069589
Epoch 17
-------------------------------
Train loss: 0.068297
Epoch 18
-------------------------------
Train loss: 0.066991
Epoch 19
-------------------------------
Train loss: 0.065774
Epoch 20
-------------------------------
Train loss: 0.064597
Epoch 21
-------------------------------
Train loss: 0.063435
Epoch 22
-------------------------------
Train loss: 0.062321
Epoch 23
-------------------------------
Train loss: 0.061282
Epoch 24
-------------------------------
Train loss: 0.060236
Epoch 25
-------------------------------
Train loss: 0.059234
Epoch 26
-------------------------------
Train loss: 0.058270
Epoch 27
-------------------------------
Train loss: 0.057308
Epoch 28
-------------------------------
Train loss: 0.056346
Epoch 29
-------------------------------
Train loss: 0.055414
Epoch 30
-------------------------------
Train loss: 0.054509
Epoch 31
-------------------------------
Train loss: 0.053630
Epoch 32
-------------------------------
Train loss: 0.052773
Epoch 33
-------------------------------
Train loss: 0.051950
Epoch 34
-------------------------------
Train loss: 0.051157
Epoch 35
-------------------------------
Train loss: 0.050338
Epoch 36
-------------------------------
Train loss: 0.049524
Epoch 37
-------------------------------
Train loss: 0.048733
Epoch 38
-------------------------------
Train loss: 0.047968
Epoch 39
-------------------------------
Train loss: 0.047212
Epoch 40
-------------------------------
Train loss: 0.046481
Epoch 41
-------------------------------
Train loss: 0.045737
Epoch 42
-------------------------------
Train loss: 0.045011
Epoch 43
-------------------------------
Train loss: 0.044271
Epoch 44
-------------------------------
Train loss: 0.043551
Epoch 45
-------------------------------
Train loss: 0.042858
Epoch 46
-------------------------------
Train loss: 0.042174
Epoch 47
-------------------------------
Train loss: 0.041555
Epoch 48
-------------------------------
Train loss: 0.040905
Epoch 49
-------------------------------
Train loss: 0.040249
Epoch 50
-------------------------------
Train loss: 0.039596
Epoch 51
-------------------------------
Train loss: 0.038986
Epoch 52
-------------------------------
Train loss: 0.038390
Epoch 53
-------------------------------
Train loss: 0.037799
Epoch 54
-------------------------------
Train loss: 0.037215
Epoch 55
-------------------------------
Train loss: 0.036634
Epoch 56
-------------------------------
Train loss: 0.036065
Epoch 57
-------------------------------
Train loss: 0.035507
Epoch 58
-------------------------------
Train loss: 0.034958
Epoch 59
-------------------------------
Train loss: 0.034428
Epoch 60
-------------------------------
Train loss: 0.033909
Epoch 61
-------------------------------
Train loss: 0.033447
Epoch 62
-------------------------------
Train loss: 0.032889
Epoch 63
-------------------------------
Train loss: 0.032399
Epoch 64
-------------------------------
Train loss: 0.031919
Epoch 65
-------------------------------
Train loss: 0.031454
Epoch 66
-------------------------------
Train loss: 0.030991
Epoch 67
-------------------------------
Train loss: 0.030541
Epoch 68
-------------------------------
Train loss: 0.030097
Epoch 69
-------------------------------
Train loss: 0.029665
Epoch 70
-------------------------------
Train loss: 0.029244
Epoch 71
-------------------------------
Train loss: 0.028835
Epoch 72
-------------------------------
Train loss: 0.028436
Epoch 73
-------------------------------
Train loss: 0.028043
Epoch 74
-------------------------------
Train loss: 0.027661
Epoch 75
-------------------------------
Train loss: 0.027292
Epoch 76
-------------------------------
Train loss: 0.026931
Epoch 77
-------------------------------
Train loss: 0.026577
Epoch 78
-------------------------------
Train loss: 0.026232
Epoch 79
-------------------------------
Train loss: 0.025897
Epoch 80
-------------------------------
Train loss: 0.025572
Epoch 81
-------------------------------
Train loss: 0.025256
Epoch 82
-------------------------------
Train loss: 0.024945
Epoch 83
-------------------------------
Train loss: 0.024643
Epoch 84
-------------------------------
Train loss: 0.024353
Epoch 85
-------------------------------
Train loss: 0.024062
Epoch 86
-------------------------------
Train loss: 0.023784
Epoch 87
-------------------------------
Train loss: 0.023512
Epoch 88
-------------------------------
Train loss: 0.023248
Epoch 89
-------------------------------
Train loss: 0.022988
Epoch 90
-------------------------------
Train loss: 0.022733
Epoch 91
-------------------------------
Train loss: 0.022486
Epoch 92
-------------------------------
Train loss: 0.022245
Epoch 93
-------------------------------
Train loss: 0.022012
Epoch 94
-------------------------------
Train loss: 0.021781
Epoch 95
-------------------------------
Train loss: 0.021558
Epoch 96
-------------------------------
Train loss: 0.021340
Epoch 97
-------------------------------
Train loss: 0.021128
Epoch 98
-------------------------------
Train loss: 0.020921
Epoch 99
-------------------------------
Train loss: 0.020716
Epoch 100
-------------------------------
Train loss: 0.020527
Epoch 101
-------------------------------
Train loss: 0.020330
Epoch 102
-------------------------------
Train loss: 0.020152
Epoch 103
-------------------------------
Train loss: 0.019968
Epoch 104
-------------------------------
Train loss: 0.019789
Epoch 105
-------------------------------
Train loss: 0.019611
Epoch 106
-------------------------------
Train loss: 0.019432
Epoch 107
-------------------------------
Train loss: 0.019281
Epoch 108
-------------------------------
Train loss: 0.019104
Epoch 109
-------------------------------
Train loss: 0.018948
Epoch 110
-------------------------------
Train loss: 0.018790
Epoch 111
-------------------------------
Train loss: 0.018631
Epoch 112
-------------------------------
Train loss: 0.018477
Epoch 113
-------------------------------
Train loss: 0.018332
Epoch 114
-------------------------------
Train loss: 0.018184
Epoch 115
-------------------------------
Train loss: 0.018041
Epoch 116
-------------------------------
Train loss: 0.017906
Epoch 117
-------------------------------
Train loss: 0.017767
Epoch 118
-------------------------------
Train loss: 0.017632
Epoch 119
-------------------------------
Train loss: 0.017507
Epoch 120
-------------------------------
Train loss: 0.017377
Epoch 121
-------------------------------
Train loss: 0.017255
Epoch 122
-------------------------------
Train loss: 0.017137
Epoch 123
-------------------------------
Train loss: 0.017016
Epoch 124
-------------------------------
Train loss: 0.016893
Epoch 125
-------------------------------
Train loss: 0.016784
Epoch 126
-------------------------------
Train loss: 0.016666
Epoch 127
-------------------------------
Train loss: 0.016559
Epoch 128
-------------------------------
Train loss: 0.016452
Epoch 129
-------------------------------
Train loss: 0.016340
Epoch 130
-------------------------------
Train loss: 0.016241
Epoch 131
-------------------------------
Train loss: 0.016140
Epoch 132
-------------------------------
Train loss: 0.016037
Epoch 133
-------------------------------
Train loss: 0.015944
Epoch 134
-------------------------------
Train loss: 0.015845
Epoch 135
-------------------------------
Train loss: 0.015752
Epoch 136
-------------------------------
Train loss: 0.015659
Epoch 137
-------------------------------
Train loss: 0.015567
Epoch 138
-------------------------------
Train loss: 0.015480
Epoch 139
-------------------------------
Train loss: 0.015393
Epoch 140
-------------------------------
Train loss: 0.015308
Epoch 141
-------------------------------
Train loss: 0.015226
Epoch 142
-------------------------------
Train loss: 0.015143
Epoch 143
-------------------------------
Train loss: 0.015065
Epoch 144
-------------------------------
Train loss: 0.014990
Epoch 145
-------------------------------
Train loss: 0.014908
Epoch 146
-------------------------------
Train loss: 0.014838
Epoch 147
-------------------------------
Train loss: 0.014768
Epoch 148
-------------------------------
Train loss: 0.014697
Epoch 149
-------------------------------
Train loss: 0.014618
Epoch 150
-------------------------------
Train loss: 0.014560
Epoch 151
-------------------------------
Train loss: 0.014483
Epoch 152
-------------------------------
Train loss: 0.014421
Epoch 153
-------------------------------
Train loss: 0.014354
Epoch 154
-------------------------------
Train loss: 0.014284
Epoch 155
-------------------------------
Train loss: 0.014216
Epoch 156
-------------------------------
Train loss: 0.014158
Epoch 157
-------------------------------
Train loss: 0.014091
Epoch 158
-------------------------------
Train loss: 0.014030
Epoch 159
-------------------------------
Train loss: 0.013973
Epoch 160
-------------------------------
Train loss: 0.013913
Epoch 161
-------------------------------
Train loss: 0.013850
Epoch 162
-------------------------------
Train loss: 0.013794
Epoch 163
-------------------------------
Train loss: 0.013741
Epoch 164
-------------------------------
Train loss: 0.013684
Epoch 165
-------------------------------
Train loss: 0.013639
Epoch 166
-------------------------------
Train loss: 0.013582
Epoch 167
-------------------------------
Train loss: 0.013536
Epoch 168
-------------------------------
Train loss: 0.013489
Epoch 169
-------------------------------
Train loss: 0.013437
Epoch 170
-------------------------------
Train loss: 0.013374
Epoch 171
-------------------------------
Train loss: 0.013349
Epoch 172
-------------------------------
Train loss: 0.013282
Epoch 173
-------------------------------
Train loss: 0.013252
Epoch 174
-------------------------------
Train loss: 0.013208
Epoch 175
-------------------------------
Train loss: 0.013159
Epoch 176
-------------------------------
Train loss: 0.013101
Epoch 177
-------------------------------
Train loss: 0.013044
Epoch 178
-------------------------------
Train loss: 0.013025
Epoch 179
-------------------------------
Train loss: 0.012969
Epoch 180
-------------------------------
Train loss: 0.012928
Epoch 181
-------------------------------
Train loss: 0.012890
Epoch 182
-------------------------------
Train loss: 0.012853
Epoch 183
-------------------------------
Train loss: 0.012819
Epoch 184
-------------------------------
Train loss: 0.012766
Epoch 185
-------------------------------
Train loss: 0.012730
Epoch 186
-------------------------------
Train loss: 0.012698
Epoch 187
-------------------------------
Train loss: 0.012647
Epoch 188
-------------------------------
Train loss: 0.012616
Epoch 189
-------------------------------
Train loss: 0.012576
Epoch 190
-------------------------------
Train loss: 0.012539
Epoch 191
-------------------------------
Train loss: 0.012498
Epoch 192
-------------------------------
Train loss: 0.012470
Epoch 193
-------------------------------
Train loss: 0.012424
Epoch 194
-------------------------------
Train loss: 0.012393
Epoch 195
-------------------------------
Train loss: 0.012361
Epoch 196
-------------------------------
Train loss: 0.012325
Epoch 197
-------------------------------
Train loss: 0.012288
Epoch 198
-------------------------------
Train loss: 0.012268
Epoch 199
-------------------------------
Train loss: 0.012229
Epoch 200
-------------------------------
Train loss: 0.012199
Epoch 201
-------------------------------
Train loss: 0.012209
Epoch 202
-------------------------------
Train loss: 0.012151
Epoch 203
-------------------------------
Train loss: 0.012130
Epoch 204
-------------------------------
Train loss: 0.012099
Epoch 205
-------------------------------
Train loss: 0.012063
Epoch 206
-------------------------------
Train loss: 0.012031
Epoch 207
-------------------------------
Train loss: 0.012018
Epoch 208
-------------------------------
Train loss: 0.011979
Epoch 209
-------------------------------
Train loss: 0.011962
Epoch 210
-------------------------------
Train loss: 0.011944
Epoch 211
-------------------------------
Train loss: 0.011923
Epoch 212
-------------------------------
Train loss: 0.011895
Epoch 213
-------------------------------
Train loss: 0.011866
Epoch 214
-------------------------------
Train loss: 0.011845
Epoch 215
-------------------------------
Train loss: 0.011805
Epoch 216
-------------------------------
Train loss: 0.011773
Epoch 217
-------------------------------
Train loss: 0.011772
Epoch 218
-------------------------------
Train loss: 0.011730
Epoch 219
-------------------------------
Train loss: 0.011713
Epoch 220
-------------------------------
Train loss: 0.011691
Epoch 221
-------------------------------
Train loss: 0.011675
Epoch 222
-------------------------------
Train loss: 0.011644
Epoch 223
-------------------------------
Train loss: 0.011620
Epoch 224
-------------------------------
Train loss: 0.011609
Epoch 225
-------------------------------
Train loss: 0.011569
Epoch 226
-------------------------------
Train loss: 0.011552
Epoch 227
-------------------------------
Train loss: 0.011533
Epoch 228
-------------------------------
Train loss: 0.011515
Epoch 229
-------------------------------
Train loss: 0.011489
Epoch 230
-------------------------------
Train loss: 0.011468
Epoch 231
-------------------------------
Train loss: 0.011443
Epoch 232
-------------------------------
Train loss: 0.011432
Epoch 233
-------------------------------
Train loss: 0.011400
Epoch 234
-------------------------------
Train loss: 0.011382
Epoch 235
-------------------------------
Train loss: 0.011369
Epoch 236
-------------------------------
Train loss: 0.011345
Epoch 237
-------------------------------
Train loss: 0.011326
Epoch 238
-------------------------------
Train loss: 0.011306
Epoch 239
-------------------------------
Train loss: 0.011291
Epoch 240
-------------------------------
Train loss: 0.011271
Epoch 241
-------------------------------
Train loss: 0.011252
Epoch 242
-------------------------------
Train loss: 0.011240
Epoch 243
-------------------------------
Train loss: 0.011227
Epoch 244
-------------------------------
Train loss: 0.011215
Epoch 245
-------------------------------
Train loss: 0.011201
Epoch 246
-------------------------------
Train loss: 0.011184
Epoch 247
-------------------------------
Train loss: 0.011162
Epoch 248
-------------------------------
Train loss: 0.011145
Epoch 249
-------------------------------
Train loss: 0.011122
Epoch 250
-------------------------------
Train loss: 0.011108
Epoch 251
-------------------------------
Train loss: 0.011096
Epoch 252
-------------------------------
Train loss: 0.011072
Epoch 253
-------------------------------
Train loss: 0.011054
Epoch 254
-------------------------------
Train loss: 0.011045
Epoch 255
-------------------------------
Train loss: 0.011020
Epoch 256
-------------------------------
Train loss: 0.011010
Epoch 257
-------------------------------
Train loss: 0.011001
Epoch 258
-------------------------------
Train loss: 0.010982
Epoch 259
-------------------------------
Train loss: 0.010970
Epoch 260
-------------------------------
Train loss: 0.010961
Epoch 261
-------------------------------
Train loss: 0.010945
Epoch 262
-------------------------------
Train loss: 0.010938
Epoch 263
-------------------------------
Train loss: 0.010916
Epoch 264
-------------------------------
Train loss: 0.010897
Epoch 265
-------------------------------
Train loss: 0.010893
Epoch 266
-------------------------------
Train loss: 0.010881
Epoch 267
-------------------------------
Train loss: 0.010882
Epoch 268
-------------------------------
Train loss: 0.010869
Epoch 269
-------------------------------
Train loss: 0.010849
Epoch 270
-------------------------------
Train loss: 0.010823
Epoch 271
-------------------------------
Train loss: 0.010835
Epoch 272
-------------------------------
Train loss: 0.010798
Epoch 273
-------------------------------
Train loss: 0.010796
Epoch 274
-------------------------------
Train loss: 0.010790
Epoch 275
-------------------------------
Train loss: 0.010779
Epoch 276
-------------------------------
Train loss: 0.010763
Epoch 277
-------------------------------
Train loss: 0.010744
Epoch 278
-------------------------------
Train loss: 0.010748
Epoch 279
-------------------------------
Train loss: 0.010720
Epoch 280
-------------------------------
Train loss: 0.010717
Epoch 281
-------------------------------
Train loss: 0.010713
Epoch 282
-------------------------------
Train loss: 0.010702
Epoch 283
-------------------------------
Train loss: 0.010688
Epoch 284
-------------------------------
Train loss: 0.010672
Epoch 285
-------------------------------
Train loss: 0.010664
Epoch 286
-------------------------------
Train loss: 0.010647
Epoch 287
-------------------------------
Train loss: 0.010640
Epoch 288
-------------------------------
Train loss: 0.010631
Epoch 289
-------------------------------
Train loss: 0.010616
Epoch 290
-------------------------------
Train loss: 0.010605
Epoch 291
-------------------------------
Train loss: 0.010599
Epoch 292
-------------------------------
Train loss: 0.010581
Epoch 293
-------------------------------
Train loss: 0.010585
Epoch 294
-------------------------------
Train loss: 0.010566
Epoch 295
-------------------------------
Train loss: 0.010564
Epoch 296
-------------------------------
Train loss: 0.010549
Epoch 297
-------------------------------
Train loss: 0.010541
Epoch 298
-------------------------------
Train loss: 0.010528
Epoch 299
-------------------------------
Train loss: 0.010523
Epoch 300
-------------------------------
Train loss: 0.010509
Epoch 301
-------------------------------
Train loss: 0.010502
Epoch 302
-------------------------------
Train loss: 0.010494
Epoch 303
-------------------------------
Train loss: 0.010485
Epoch 304
-------------------------------
Train loss: 0.010473
Epoch 305
-------------------------------
Train loss: 0.010470
Epoch 306
-------------------------------
Train loss: 0.010458
Epoch 307
-------------------------------
Train loss: 0.010446
Epoch 308
-------------------------------
Train loss: 0.010439
Epoch 309
-------------------------------
Train loss: 0.010430
Epoch 310
-------------------------------
Train loss: 0.010423
Epoch 311
-------------------------------
Train loss: 0.010415
Epoch 312
-------------------------------
Train loss: 0.010407
Epoch 313
-------------------------------
Train loss: 0.010399
Epoch 314
-------------------------------
Train loss: 0.010390
Epoch 315
-------------------------------
Train loss: 0.010384
Epoch 316
-------------------------------
Train loss: 0.010372
Epoch 317
-------------------------------
Train loss: 0.010366
Epoch 318
-------------------------------
Train loss: 0.010357
Epoch 319
-------------------------------
Train loss: 0.010349
Epoch 320
-------------------------------
Train loss: 0.010343
Epoch 321
-------------------------------
Train loss: 0.010333
Epoch 322
-------------------------------
Train loss: 0.010326
Epoch 323
-------------------------------
Train loss: 0.010319
Epoch 324
-------------------------------
Train loss: 0.010311
Epoch 325
-------------------------------
Train loss: 0.010307
Epoch 326
-------------------------------
Train loss: 0.010298
Epoch 327
-------------------------------
Train loss: 0.010292
Epoch 328
-------------------------------
Train loss: 0.010286
Epoch 329
-------------------------------
Train loss: 0.010278
Epoch 330
-------------------------------
Train loss: 0.010273
Epoch 331
-------------------------------
Train loss: 0.010266
Epoch 332
-------------------------------
Train loss: 0.010262
Epoch 333
-------------------------------
Train loss: 0.010253
Epoch 334
-------------------------------
Train loss: 0.010246
Epoch 335
-------------------------------
Train loss: 0.010239
Epoch 336
-------------------------------
Train loss: 0.010231
Epoch 337
-------------------------------
Train loss: 0.010227
Epoch 338
-------------------------------
Train loss: 0.010224
Epoch 339
-------------------------------
Train loss: 0.010221
Epoch 340
-------------------------------
Train loss: 0.010211
Epoch 341
-------------------------------
Train loss: 0.010208
Epoch 342
-------------------------------
Train loss: 0.010199
Epoch 343
-------------------------------
Train loss: 0.010196
Epoch 344
-------------------------------
Train loss: 0.010188
Epoch 345
-------------------------------
Train loss: 0.010179
Epoch 346
-------------------------------
Train loss: 0.010180
Epoch 347
-------------------------------
Train loss: 0.010171
Epoch 348
-------------------------------
Train loss: 0.010170
Epoch 349
-------------------------------
Train loss: 0.010165
Epoch 350
-------------------------------
Train loss: 0.010158
Epoch 351
-------------------------------
Train loss: 0.010150
Epoch 352
-------------------------------
Train loss: 0.010141
Epoch 353
-------------------------------
Train loss: 0.010144
Epoch 354
-------------------------------
Train loss: 0.010135
Epoch 355
-------------------------------
Train loss: 0.010132
Epoch 356
-------------------------------
Train loss: 0.010136
Epoch 357
-------------------------------
Train loss: 0.010174
Epoch 358
-------------------------------
Train loss: 0.010135
Epoch 359
-------------------------------
Train loss: 0.010131
Epoch 360
-------------------------------
Train loss: 0.010124
Epoch 361
-------------------------------
Train loss: 0.010117
Epoch 362
-------------------------------
Train loss: 0.010106
Epoch 363
-------------------------------
Train loss: 0.010098
Epoch 364
-------------------------------
Train loss: 0.010093
Epoch 365
-------------------------------
Train loss: 0.010080
Epoch 366
-------------------------------
Train loss: 0.010083
Epoch 367
-------------------------------
Train loss: 0.010069
Epoch 368
-------------------------------
Train loss: 0.010065
Epoch 369
-------------------------------
Train loss: 0.010061
Epoch 370
-------------------------------
Train loss: 0.010054
Epoch 371
-------------------------------
Train loss: 0.010045
Epoch 372
-------------------------------
Train loss: 0.010048
Epoch 373
-------------------------------
Train loss: 0.010035
Epoch 374
-------------------------------
Train loss: 0.010033
Epoch 375
-------------------------------
Train loss: 0.010029
Epoch 376
-------------------------------
Train loss: 0.010022
Epoch 377
-------------------------------
Train loss: 0.010014
Epoch 378
-------------------------------
Train loss: 0.010011
Epoch 379
-------------------------------
Train loss: 0.010005
Epoch 380
-------------------------------
Train loss: 0.010004
Epoch 381
-------------------------------
Train loss: 0.009999
Epoch 382
-------------------------------
Train loss: 0.009993
Epoch 383
-------------------------------
Train loss: 0.009992
Epoch 384
-------------------------------
Train loss: 0.009984
Epoch 385
-------------------------------
Train loss: 0.009980
Epoch 386
-------------------------------
Train loss: 0.009976
Epoch 387
-------------------------------
Train loss: 0.009970
Epoch 388
-------------------------------
Train loss: 0.009964
Epoch 389
-------------------------------
Train loss: 0.009961
Epoch 390
-------------------------------
Train loss: 0.009957
Epoch 391
-------------------------------
Train loss: 0.009955
Epoch 392
-------------------------------
Train loss: 0.009949
Epoch 393
-------------------------------
Train loss: 0.009945
Epoch 394
-------------------------------
Train loss: 0.009938
Epoch 395
-------------------------------
Train loss: 0.009938
Epoch 396
-------------------------------
Train loss: 0.009930
Epoch 397
-------------------------------
Train loss: 0.009932
Epoch 398
-------------------------------
Train loss: 0.009933
Epoch 399
-------------------------------
Train loss: 0.009936
Epoch 400
-------------------------------
Train loss: 0.009935
Epoch 401
-------------------------------
Train loss: 0.009930
Epoch 402
-------------------------------
Train loss: 0.009926
Epoch 403
-------------------------------
Train loss: 0.009916
Epoch 404
-------------------------------
Train loss: 0.009906
Epoch 405
-------------------------------
Train loss: 0.009909
Epoch 406
-------------------------------
Train loss: 0.009896
Epoch 407
-------------------------------
Train loss: 0.009894
Epoch 408
-------------------------------
Train loss: 0.009893
Epoch 409
-------------------------------
Train loss: 0.009892
Epoch 410
-------------------------------
Train loss: 0.009891
Epoch 411
-------------------------------
Train loss: 0.009894
Epoch 412
-------------------------------
Train loss: 0.009889
Epoch 413
-------------------------------
Train loss: 0.009883
Epoch 414
-------------------------------
Train loss: 0.009878
Epoch 415
-------------------------------
Train loss: 0.009867
Epoch 416
-------------------------------
Train loss: 0.009864
Epoch 417
-------------------------------
Train loss: 0.009855
Epoch 418
-------------------------------
Train loss: 0.009863
Epoch 419
-------------------------------
Train loss: 0.009850
Epoch 420
-------------------------------
Train loss: 0.009850
Epoch 421
-------------------------------
Train loss: 0.009851
Epoch 422
-------------------------------
Train loss: 0.009848
Epoch 423
-------------------------------
Train loss: 0.009846
Epoch 424
-------------------------------
Train loss: 0.009840
Epoch 425
-------------------------------
Train loss: 0.009834
Epoch 426
-------------------------------
Train loss: 0.009826
Epoch 427
-------------------------------
Train loss: 0.009823
Epoch 428
-------------------------------
Train loss: 0.009822
Epoch 429
-------------------------------
Train loss: 0.009818
Epoch 430
-------------------------------
Train loss: 0.009818
Epoch 431
-------------------------------
Train loss: 0.009819
Epoch 432
-------------------------------
Train loss: 0.009812
Epoch 433
-------------------------------
Train loss: 0.009807
Epoch 434
-------------------------------
Train loss: 0.009801
Epoch 435
-------------------------------
Train loss: 0.009796
Epoch 436
-------------------------------
Train loss: 0.009796
Epoch 437
-------------------------------
Train loss: 0.009790
Epoch 438
-------------------------------
Train loss: 0.009786
Epoch 439
-------------------------------
Train loss: 0.009785
Epoch 440
-------------------------------
Train loss: 0.009782
Epoch 441
-------------------------------
Train loss: 0.009777
Epoch 442
-------------------------------
Train loss: 0.009776
Epoch 443
-------------------------------
Train loss: 0.009769
Epoch 444
-------------------------------
Train loss: 0.009768
Epoch 445
-------------------------------
Train loss: 0.009765
Epoch 446
-------------------------------
Train loss: 0.009760
Epoch 447
-------------------------------
Train loss: 0.009759
Epoch 448
-------------------------------
Train loss: 0.009758
Epoch 449
-------------------------------
Train loss: 0.009757
Epoch 450
-------------------------------
Train loss: 0.009751
Epoch 451
-------------------------------
Train loss: 0.009744
Epoch 452
-------------------------------
Train loss: 0.009754
Epoch 453
-------------------------------
Train loss: 0.009745
Epoch 454
-------------------------------
Train loss: 0.009747
Epoch 455
-------------------------------
Train loss: 0.009745
Epoch 456
-------------------------------
Train loss: 0.009744
Epoch 457
-------------------------------
Train loss: 0.009742
Epoch 458
-------------------------------
Train loss: 0.009739
Epoch 459
-------------------------------
Train loss: 0.009738
Epoch 460
-------------------------------
Train loss: 0.009734
Epoch 461
-------------------------------
Train loss: 0.009732
Epoch 462
-------------------------------
Train loss: 0.009730
Epoch 463
-------------------------------
Train loss: 0.009724
Epoch 464
-------------------------------
Train loss: 0.009721
Epoch 465
-------------------------------
Train loss: 0.009718
Epoch 466
-------------------------------
Train loss: 0.009716
Epoch 467
-------------------------------
Train loss: 0.009715
Epoch 468
-------------------------------
Train loss: 0.009712
Epoch 469
-------------------------------
Train loss: 0.009711
Epoch 470
-------------------------------
Train loss: 0.009709
Epoch 471
-------------------------------
Train loss: 0.009704
Epoch 472
-------------------------------
Train loss: 0.009703
Epoch 473
-------------------------------
Train loss: 0.009698
Epoch 474
-------------------------------
Train loss: 0.009697
Epoch 475
-------------------------------
Train loss: 0.009695
Epoch 476
-------------------------------
Train loss: 0.009694
Epoch 477
-------------------------------
Train loss: 0.009691
Epoch 478
-------------------------------
Train loss: 0.009689
Epoch 479
-------------------------------
Train loss: 0.009685
Epoch 480
-------------------------------
Train loss: 0.009682
Epoch 481
-------------------------------
Train loss: 0.009679
Epoch 482
-------------------------------
Train loss: 0.009678
Epoch 483
-------------------------------
Train loss: 0.009678
Epoch 484
-------------------------------
Train loss: 0.009675
Epoch 485
-------------------------------
Train loss: 0.009674
Epoch 486
-------------------------------
Train loss: 0.009672
Epoch 487
-------------------------------
Train loss: 0.009668
Epoch 488
-------------------------------
Train loss: 0.009664
Epoch 489
-------------------------------
Train loss: 0.009667
Epoch 490
-------------------------------
Train loss: 0.009667
Epoch 491
-------------------------------
Train loss: 0.009672
Epoch 492
-------------------------------
Train loss: 0.009673
Epoch 493
-------------------------------
Train loss: 0.009671
Epoch 494
-------------------------------
Train loss: 0.009664
Epoch 495
-------------------------------
Train loss: 0.009659
Epoch 496
-------------------------------
Train loss: 0.009658
Epoch 497
-------------------------------
Train loss: 0.009659
Epoch 498
-------------------------------
Train loss: 0.009650
Epoch 499
-------------------------------
Train loss: 0.009649
Epoch 500
-------------------------------
Train loss: 0.009649
Done!
In [32]:
import soundfile as sf

cnn_1d.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('//content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)

    Xt_abs.astype(np.float32)

    Yt_abs = np.asarray(cnn_1d(torch.tensor(Xt_abs.T))).T

    Yt = (Xt/ Xt_abs) * Yt_abs
    
    Yt = librosa.istft( Yt, hop_length=512)

    sf.write('Qs2_train_clean_male_recons_cnn1D.wav', Yt, sr)
In [34]:
s, sr = librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr= None)
s_hat, sr_hat = librosa.load('/content/Qs2_train_clean_male_recons_cnn1D.wav', sr= None)
In [35]:
print(len(s),',', len(s_hat))
1258899 , 1258496
In [36]:
print(snr(s[:len(s_hat)], s_hat))
10.768744137624973
In [37]:
import soundfile as sf

model.to('cpu')
with torch.no_grad():

    Xt1, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_01.wav', sr= None)
    Xt2, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_02.wav', sr= None)

    Xt1=librosa.stft(Xt1, n_fft=1024, hop_length=512)
    Xt2=librosa.stft(Xt2, n_fft=1024, hop_length=512)

    Xt1_abs = np.abs(Xt1)
    Xt2_abs = np.abs(Xt2)

    Xt1_abs.astype(np.float32)
    Xt2_abs.astype(np.float32)

    Yt1_abs = np.asarray(cnn_1d(torch.tensor(Xt1_abs.T))).T
    Yt2_abs = np.asarray(cnn_1d(torch.tensor(Xt2_abs.T))).T

    Yt1 = (Xt1/ Xt1_abs) * Yt1_abs
    Yt2 = (Xt2/ Xt2_abs) * Yt2_abs
    
    Yt1 = librosa.istft( Yt1, hop_length=512)
    Yt2 = librosa.istft( Yt2, hop_length=512)

    sf.write('Qs2_test_s_01_recons_cnn1D.wav', Yt1, sr)
    sf.write('Qs2_test_s_02_recons_cnn1D.wav', Yt2, sr)

Question3

In [68]:
s, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr=None)
S=librosa.stft(s, n_fft=1024, hop_length=512)
sn, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr=None)
X=librosa.stft(sn, n_fft=1024, hop_length=512)
In [69]:
print(S.shape, X.shape)
(513, 2459) (513, 2459)
In [70]:
def convert_voice_to_img(input):
  imgs = []
  # because we're getting 2 dimenensional data
  for i in range(input.shape[0]-19):
    imgs.append(input[i:i+20])
  # print(imgs)
  return imgs
In [71]:
batch_size = 128

X = X.T
S = S.T
# print(S.shape, X.shape)
#get images as input
X = convert_voice_to_img(X)
S = S[:-19]
# print(S.shape, len(X))
s_mag = np.abs(S)
x_mag = np.abs(X)

X = torch.from_numpy(x_mag)
S = torch.from_numpy(s_mag)

train_dataset = TensorDataset(X, S)
dirty_train, dirty_validation = torch.utils.data.random_split(train_dataset, [2000, 440], generator=torch.Generator().manual_seed(42))

train_dataloader = DataLoader(dirty_train, batch_size=batch_size, shuffle=True)
In [72]:
# calculate the output size for different input sizes
input = torch.randn(128, 5, 8, 255)
conv = nn.Conv2d(5, 12, 6)
output = conv(input)

print(output.shape)
torch.Size([128, 12, 3, 250])
In [112]:
class CNN_2D(nn.Module):
    def __init__(self):
        super(CNN_2D, self).__init__()
        self.conv1 = nn.Conv2d(1, 5, 7, stride=2, padding=1)
        self.conv2 = nn.Conv2d(5, 12, 6)
        self.fc1 = nn.Linear(12 * 3 * 250, 2048)
        self.fc2 = nn.Linear(2048, 2048)
        self.fc3 = nn.Linear(2048, 513)
     
    def forward(self, x):
        x = x.unsqueeze(1)
        x = F.relu(self.conv1(x))
        x = F.relu(self.conv2(x))
        x = torch.flatten(x, 1) # flatten all dimensions except batch
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = F.relu(self.fc3(x))
        return x
In [113]:
cnn_2d = CNN_2D()
cnn_2d.to(device)
loss_fn = torch.nn.MSELoss()
optimizer = torch.optim.Adam(cnn_2d.parameters())
cnn_2d.apply(xavier_initializer)
scheduler = StepLR(optimizer, step_size=50, gamma=0.1)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:3: UserWarning: nn.init.xavier_normal is now deprecated in favor of nn.init.xavier_normal_.
  This is separate from the ipykernel package so we can avoid doing imports until
In [114]:
train_epochs(train_dataloader, cnn_2d, loss_fn, optimizer)
Epoch 1
-------------------------------
Train loss: 0.105946
Train loss: 0.088635
Epoch 2
-------------------------------
Train loss: 0.087603
Train loss: 0.042609
Epoch 3
-------------------------------
Train loss: 0.087446
Train loss: 0.059393
Epoch 4
-------------------------------
Train loss: 0.042302
Train loss: 0.086550
Epoch 5
-------------------------------
Train loss: 0.039375
Train loss: 0.071180
Epoch 6
-------------------------------
Train loss: 0.041910
Train loss: 0.023024
Epoch 7
-------------------------------
Train loss: 0.070332
Train loss: 0.053047
Epoch 8
-------------------------------
Train loss: 0.038920
Train loss: 0.024555
Epoch 9
-------------------------------
Train loss: 0.022816
Train loss: 0.023596
Epoch 10
-------------------------------
Train loss: 0.037217
Train loss: 0.034189
Epoch 11
-------------------------------
Train loss: 0.021788
Train loss: 0.023155
Epoch 12
-------------------------------
Train loss: 0.018902
Train loss: 0.026699
Epoch 13
-------------------------------
Train loss: 0.019752
Train loss: 0.018650
Epoch 14
-------------------------------
Train loss: 0.012019
Train loss: 0.016812
Epoch 15
-------------------------------
Train loss: 0.012610
Train loss: 0.019311
Epoch 16
-------------------------------
Train loss: 0.011235
Train loss: 0.014675
Epoch 17
-------------------------------
Train loss: 0.014879
Train loss: 0.012107
Epoch 18
-------------------------------
Train loss: 0.008493
Train loss: 0.010130
Epoch 19
-------------------------------
Train loss: 0.009302
Train loss: 0.015380
Epoch 20
-------------------------------
Train loss: 0.010791
Train loss: 0.010975
Epoch 21
-------------------------------
Train loss: 0.011382
Train loss: 0.011491
Epoch 22
-------------------------------
Train loss: 0.009596
Train loss: 0.009097
Epoch 23
-------------------------------
Train loss: 0.007652
Train loss: 0.008513
Epoch 24
-------------------------------
Train loss: 0.006657
Train loss: 0.007841
Epoch 25
-------------------------------
Train loss: 0.007430
Train loss: 0.006057
Epoch 26
-------------------------------
Train loss: 0.007930
Train loss: 0.007815
Epoch 27
-------------------------------
Train loss: 0.005434
Train loss: 0.004968
Epoch 28
-------------------------------
Train loss: 0.003944
Train loss: 0.004341
Epoch 29
-------------------------------
Train loss: 0.006318
Train loss: 0.004831
Epoch 30
-------------------------------
Train loss: 0.006060
Train loss: 0.006473
Epoch 31
-------------------------------
Train loss: 0.004711
Train loss: 0.004949
Epoch 32
-------------------------------
Train loss: 0.004504
Train loss: 0.004404
Epoch 33
-------------------------------
Train loss: 0.006011
Train loss: 0.004275
Epoch 34
-------------------------------
Train loss: 0.003309
Train loss: 0.003405
Epoch 35
-------------------------------
Train loss: 0.004186
Train loss: 0.004732
Epoch 36
-------------------------------
Train loss: 0.004910
Train loss: 0.005682
Epoch 37
-------------------------------
Train loss: 0.003837
Train loss: 0.004597
Epoch 38
-------------------------------
Train loss: 0.004854
Train loss: 0.005104
Epoch 39
-------------------------------
Train loss: 0.005342
Train loss: 0.004729
Epoch 40
-------------------------------
Train loss: 0.004299
Train loss: 0.004090
Epoch 41
-------------------------------
Train loss: 0.006431
Train loss: 0.010747
Epoch 42
-------------------------------
Train loss: 0.005187
Train loss: 0.005870
Epoch 43
-------------------------------
Train loss: 0.005995
Train loss: 0.004956
Epoch 44
-------------------------------
Train loss: 0.003459
Train loss: 0.003359
Epoch 45
-------------------------------
Train loss: 0.004124
Train loss: 0.004164
Epoch 46
-------------------------------
Train loss: 0.003489
Train loss: 0.002016
Epoch 47
-------------------------------
Train loss: 0.003316
Train loss: 0.003790
Epoch 48
-------------------------------
Train loss: 0.002907
Train loss: 0.002781
Epoch 49
-------------------------------
Train loss: 0.004493
Train loss: 0.004550
Epoch 50
-------------------------------
Train loss: 0.004484
Train loss: 0.004042
Epoch 51
-------------------------------
Train loss: 0.003859
Train loss: 0.004745
Epoch 52
-------------------------------
Train loss: 0.002892
Train loss: 0.003577
Epoch 53
-------------------------------
Train loss: 0.002793
Train loss: 0.002528
Epoch 54
-------------------------------
Train loss: 0.003911
Train loss: 0.002832
Epoch 55
-------------------------------
Train loss: 0.004651
Train loss: 0.001883
Epoch 56
-------------------------------
Train loss: 0.003195
Train loss: 0.003128
Epoch 57
-------------------------------
Train loss: 0.002415
Train loss: 0.002821
Epoch 58
-------------------------------
Train loss: 0.002637
Train loss: 0.002708
Epoch 59
-------------------------------
Train loss: 0.002557
Train loss: 0.003350
Epoch 60
-------------------------------
Train loss: 0.002776
Train loss: 0.002418
Epoch 61
-------------------------------
Train loss: 0.002656
Train loss: 0.003241
Epoch 62
-------------------------------
Train loss: 0.002626
Train loss: 0.003593
Epoch 63
-------------------------------
Train loss: 0.002864
Train loss: 0.001980
Epoch 64
-------------------------------
Train loss: 0.001984
Train loss: 0.002830
Epoch 65
-------------------------------
Train loss: 0.001850
Train loss: 0.003034
Epoch 66
-------------------------------
Train loss: 0.003397
Train loss: 0.002582
Epoch 67
-------------------------------
Train loss: 0.001584
Train loss: 0.002509
Epoch 68
-------------------------------
Train loss: 0.003183
Train loss: 0.002303
Epoch 69
-------------------------------
Train loss: 0.002674
Train loss: 0.003623
Epoch 70
-------------------------------
Train loss: 0.001943
Train loss: 0.002645
Epoch 71
-------------------------------
Train loss: 0.002206
Train loss: 0.004053
Epoch 72
-------------------------------
Train loss: 0.003553
Train loss: 0.002675
Epoch 73
-------------------------------
Train loss: 0.002273
Train loss: 0.002406
Epoch 74
-------------------------------
Train loss: 0.002302
Train loss: 0.001891
Epoch 75
-------------------------------
Train loss: 0.002054
Train loss: 0.002134
Epoch 76
-------------------------------
Train loss: 0.001711
Train loss: 0.001787
Epoch 77
-------------------------------
Train loss: 0.002664
Train loss: 0.001773
Epoch 78
-------------------------------
Train loss: 0.002497
Train loss: 0.001690
Epoch 79
-------------------------------
Train loss: 0.002907
Train loss: 0.001565
Epoch 80
-------------------------------
Train loss: 0.001843
Train loss: 0.002385
Epoch 81
-------------------------------
Train loss: 0.002306
Train loss: 0.002776
Epoch 82
-------------------------------
Train loss: 0.002586
Train loss: 0.002796
Epoch 83
-------------------------------
Train loss: 0.003462
Train loss: 0.002599
Epoch 84
-------------------------------
Train loss: 0.002478
Train loss: 0.002450
Epoch 85
-------------------------------
Train loss: 0.002912
Train loss: 0.003570
Epoch 86
-------------------------------
Train loss: 0.005142
Train loss: 0.004848
Epoch 87
-------------------------------
Train loss: 0.003836
Train loss: 0.002519
Epoch 88
-------------------------------
Train loss: 0.002546
Train loss: 0.003086
Epoch 89
-------------------------------
Train loss: 0.003459
Train loss: 0.002118
Epoch 90
-------------------------------
Train loss: 0.002836
Train loss: 0.002958
Epoch 91
-------------------------------
Train loss: 0.001960
Train loss: 0.001872
Epoch 92
-------------------------------
Train loss: 0.002676
Train loss: 0.001739
Epoch 93
-------------------------------
Train loss: 0.002278
Train loss: 0.002873
Epoch 94
-------------------------------
Train loss: 0.001472
Train loss: 0.002152
Epoch 95
-------------------------------
Train loss: 0.002287
Train loss: 0.002329
Epoch 96
-------------------------------
Train loss: 0.002041
Train loss: 0.002937
Epoch 97
-------------------------------
Train loss: 0.001726
Train loss: 0.001688
Epoch 98
-------------------------------
Train loss: 0.003036
Train loss: 0.002650
Epoch 99
-------------------------------
Train loss: 0.002739
Train loss: 0.003106
Epoch 100
-------------------------------
Train loss: 0.002779
Train loss: 0.003120
Epoch 101
-------------------------------
Train loss: 0.005051
Train loss: 0.006659
Epoch 102
-------------------------------
Train loss: 0.003463
Train loss: 0.002639
Epoch 103
-------------------------------
Train loss: 0.002766
Train loss: 0.002504
Epoch 104
-------------------------------
Train loss: 0.003185
Train loss: 0.003454
Epoch 105
-------------------------------
Train loss: 0.003489
Train loss: 0.002171
Epoch 106
-------------------------------
Train loss: 0.002452
Train loss: 0.002855
Epoch 107
-------------------------------
Train loss: 0.004393
Train loss: 0.003225
Epoch 108
-------------------------------
Train loss: 0.003511
Train loss: 0.002418
Epoch 109
-------------------------------
Train loss: 0.001996
Train loss: 0.001904
Epoch 110
-------------------------------
Train loss: 0.002781
Train loss: 0.001746
Epoch 111
-------------------------------
Train loss: 0.002042
Train loss: 0.002199
Epoch 112
-------------------------------
Train loss: 0.001223
Train loss: 0.001489
Epoch 113
-------------------------------
Train loss: 0.001559
Train loss: 0.001307
Epoch 114
-------------------------------
Train loss: 0.001056
Train loss: 0.001741
Epoch 115
-------------------------------
Train loss: 0.001399
Train loss: 0.000994
Epoch 116
-------------------------------
Train loss: 0.001242
Train loss: 0.001005
Epoch 117
-------------------------------
Train loss: 0.001596
Train loss: 0.001391
Epoch 118
-------------------------------
Train loss: 0.001191
Train loss: 0.001318
Epoch 119
-------------------------------
Train loss: 0.001111
Train loss: 0.002259
Epoch 120
-------------------------------
Train loss: 0.002453
Train loss: 0.001171
Epoch 121
-------------------------------
Train loss: 0.001532
Train loss: 0.001067
Epoch 122
-------------------------------
Train loss: 0.001347
Train loss: 0.001172
Epoch 123
-------------------------------
Train loss: 0.001067
Train loss: 0.001222
Epoch 124
-------------------------------
Train loss: 0.001218
Train loss: 0.001746
Epoch 125
-------------------------------
Train loss: 0.001598
Train loss: 0.000975
Epoch 126
-------------------------------
Train loss: 0.001942
Train loss: 0.001161
Epoch 127
-------------------------------
Train loss: 0.001347
Train loss: 0.001379
Epoch 128
-------------------------------
Train loss: 0.000997
Train loss: 0.001226
Epoch 129
-------------------------------
Train loss: 0.003115
Train loss: 0.001152
Epoch 130
-------------------------------
Train loss: 0.001288
Train loss: 0.001528
Epoch 131
-------------------------------
Train loss: 0.002509
Train loss: 0.001956
Epoch 132
-------------------------------
Train loss: 0.001421
Train loss: 0.002072
Epoch 133
-------------------------------
Train loss: 0.002185
Train loss: 0.001443
Epoch 134
-------------------------------
Train loss: 0.002826
Train loss: 0.001549
Epoch 135
-------------------------------
Train loss: 0.001380
Train loss: 0.001160
Epoch 136
-------------------------------
Train loss: 0.000949
Train loss: 0.002498
Epoch 137
-------------------------------
Train loss: 0.001831
Train loss: 0.001732
Epoch 138
-------------------------------
Train loss: 0.001662
Train loss: 0.001406
Epoch 139
-------------------------------
Train loss: 0.001930
Train loss: 0.001042
Epoch 140
-------------------------------
Train loss: 0.002499
Train loss: 0.001599
Epoch 141
-------------------------------
Train loss: 0.002338
Train loss: 0.001116
Epoch 142
-------------------------------
Train loss: 0.001666
Train loss: 0.001102
Epoch 143
-------------------------------
Train loss: 0.001853
Train loss: 0.001178
Epoch 144
-------------------------------
Train loss: 0.001613
Train loss: 0.001353
Epoch 145
-------------------------------
Train loss: 0.002113
Train loss: 0.002267
Epoch 146
-------------------------------
Train loss: 0.001377
Train loss: 0.002722
Epoch 147
-------------------------------
Train loss: 0.002449
Train loss: 0.003315
Epoch 148
-------------------------------
Train loss: 0.003891
Train loss: 0.001801
Epoch 149
-------------------------------
Train loss: 0.002211
Train loss: 0.001919
Epoch 150
-------------------------------
Train loss: 0.001741
Train loss: 0.004161
Epoch 151
-------------------------------
Train loss: 0.003164
Train loss: 0.001972
Epoch 152
-------------------------------
Train loss: 0.003068
Train loss: 0.001630
Epoch 153
-------------------------------
Train loss: 0.002154
Train loss: 0.002421
Epoch 154
-------------------------------
Train loss: 0.002536
Train loss: 0.001423
Epoch 155
-------------------------------
Train loss: 0.001479
Train loss: 0.002552
Epoch 156
-------------------------------
Train loss: 0.001569
Train loss: 0.001640
Epoch 157
-------------------------------
Train loss: 0.002038
Train loss: 0.002607
Epoch 158
-------------------------------
Train loss: 0.001618
Train loss: 0.001406
Epoch 159
-------------------------------
Train loss: 0.001849
Train loss: 0.001893
Epoch 160
-------------------------------
Train loss: 0.001186
Train loss: 0.001450
Epoch 161
-------------------------------
Train loss: 0.001520
Train loss: 0.003053
Epoch 162
-------------------------------
Train loss: 0.001121
Train loss: 0.001386
Epoch 163
-------------------------------
Train loss: 0.001988
Train loss: 0.002172
Epoch 164
-------------------------------
Train loss: 0.001927
Train loss: 0.001613
Epoch 165
-------------------------------
Train loss: 0.001319
Train loss: 0.001516
Epoch 166
-------------------------------
Train loss: 0.003593
Train loss: 0.002032
Epoch 167
-------------------------------
Train loss: 0.001817
Train loss: 0.001572
Epoch 168
-------------------------------
Train loss: 0.002825
Train loss: 0.001634
Epoch 169
-------------------------------
Train loss: 0.001461
Train loss: 0.001795
Epoch 170
-------------------------------
Train loss: 0.000999
Train loss: 0.002706
Epoch 171
-------------------------------
Train loss: 0.001977
Train loss: 0.001872
Epoch 172
-------------------------------
Train loss: 0.001995
Train loss: 0.002101
Epoch 173
-------------------------------
Train loss: 0.001421
Train loss: 0.001389
Epoch 174
-------------------------------
Train loss: 0.001266
Train loss: 0.001483
Epoch 175
-------------------------------
Train loss: 0.001302
Train loss: 0.001583
Epoch 176
-------------------------------
Train loss: 0.001710
Train loss: 0.001823
Epoch 177
-------------------------------
Train loss: 0.001730
Train loss: 0.002171
Epoch 178
-------------------------------
Train loss: 0.001359
Train loss: 0.002207
Epoch 179
-------------------------------
Train loss: 0.001351
Train loss: 0.001660
Epoch 180
-------------------------------
Train loss: 0.002663
Train loss: 0.001259
Epoch 181
-------------------------------
Train loss: 0.002434
Train loss: 0.001149
Epoch 182
-------------------------------
Train loss: 0.000952
Train loss: 0.001195
Epoch 183
-------------------------------
Train loss: 0.001183
Train loss: 0.001021
Epoch 184
-------------------------------
Train loss: 0.001734
Train loss: 0.001044
Epoch 185
-------------------------------
Train loss: 0.001595
Train loss: 0.001729
Epoch 186
-------------------------------
Train loss: 0.001458
Train loss: 0.001552
Epoch 187
-------------------------------
Train loss: 0.001028
Train loss: 0.001747
Epoch 188
-------------------------------
Train loss: 0.001792
Train loss: 0.001484
Epoch 189
-------------------------------
Train loss: 0.002159
Train loss: 0.001341
Epoch 190
-------------------------------
Train loss: 0.001903
Train loss: 0.001315
Epoch 191
-------------------------------
Train loss: 0.001254
Train loss: 0.002343
Epoch 192
-------------------------------
Train loss: 0.001951
Train loss: 0.001396
Epoch 193
-------------------------------
Train loss: 0.002073
Train loss: 0.002289
Epoch 194
-------------------------------
Train loss: 0.001860
Train loss: 0.001740
Epoch 195
-------------------------------
Train loss: 0.001652
Train loss: 0.001450
Epoch 196
-------------------------------
Train loss: 0.001507
Train loss: 0.001996
Epoch 197
-------------------------------
Train loss: 0.001136
Train loss: 0.000999
Epoch 198
-------------------------------
Train loss: 0.001536
Train loss: 0.001978
Epoch 199
-------------------------------
Train loss: 0.000968
Train loss: 0.001186
Epoch 200
-------------------------------
Train loss: 0.001554
Train loss: 0.001105
Epoch 201
-------------------------------
Train loss: 0.002959
Train loss: 0.001425
Epoch 202
-------------------------------
Train loss: 0.002270
Train loss: 0.000887
Epoch 203
-------------------------------
Train loss: 0.001832
Train loss: 0.001659
Epoch 204
-------------------------------
Train loss: 0.001743
Train loss: 0.001071
Epoch 205
-------------------------------
Train loss: 0.001798
Train loss: 0.001123
Epoch 206
-------------------------------
Train loss: 0.001406
Train loss: 0.001382
Epoch 207
-------------------------------
Train loss: 0.002587
Train loss: 0.003230
Epoch 208
-------------------------------
Train loss: 0.002965
Train loss: 0.002253
Epoch 209
-------------------------------
Train loss: 0.001745
Train loss: 0.003858
Epoch 210
-------------------------------
Train loss: 0.001680
Train loss: 0.001261
Epoch 211
-------------------------------
Train loss: 0.001305
Train loss: 0.003107
Epoch 212
-------------------------------
Train loss: 0.003016
Train loss: 0.002233
Epoch 213
-------------------------------
Train loss: 0.001601
Train loss: 0.002957
Epoch 214
-------------------------------
Train loss: 0.002724
Train loss: 0.001807
Epoch 215
-------------------------------
Train loss: 0.002400
Train loss: 0.002902
Epoch 216
-------------------------------
Train loss: 0.002232
Train loss: 0.003127
Epoch 217
-------------------------------
Train loss: 0.001443
Train loss: 0.001467
Epoch 218
-------------------------------
Train loss: 0.001103
Train loss: 0.002157
Epoch 219
-------------------------------
Train loss: 0.000999
Train loss: 0.001940
Epoch 220
-------------------------------
Train loss: 0.001450
Train loss: 0.001025
Epoch 221
-------------------------------
Train loss: 0.001465
Train loss: 0.002670
Epoch 222
-------------------------------
Train loss: 0.001070
Train loss: 0.001134
Epoch 223
-------------------------------
Train loss: 0.000847
Train loss: 0.000910
Epoch 224
-------------------------------
Train loss: 0.001090
Train loss: 0.001973
Epoch 225
-------------------------------
Train loss: 0.001911
Train loss: 0.000848
Epoch 226
-------------------------------
Train loss: 0.000913
Train loss: 0.002585
Epoch 227
-------------------------------
Train loss: 0.001207
Train loss: 0.000910
Epoch 228
-------------------------------
Train loss: 0.001441
Train loss: 0.000806
Epoch 229
-------------------------------
Train loss: 0.001749
Train loss: 0.001611
Epoch 230
-------------------------------
Train loss: 0.001126
Train loss: 0.001278
Epoch 231
-------------------------------
Train loss: 0.002263
Train loss: 0.001528
Epoch 232
-------------------------------
Train loss: 0.000934
Train loss: 0.001006
Epoch 233
-------------------------------
Train loss: 0.001297
Train loss: 0.001184
Epoch 234
-------------------------------
Train loss: 0.001113
Train loss: 0.001876
Epoch 235
-------------------------------
Train loss: 0.001809
Train loss: 0.001160
Epoch 236
-------------------------------
Train loss: 0.001894
Train loss: 0.001078
Epoch 237
-------------------------------
Train loss: 0.001030
Train loss: 0.001391
Epoch 238
-------------------------------
Train loss: 0.001005
Train loss: 0.001022
Epoch 239
-------------------------------
Train loss: 0.000877
Train loss: 0.000938
Epoch 240
-------------------------------
Train loss: 0.000818
Train loss: 0.001533
Epoch 241
-------------------------------
Train loss: 0.002302
Train loss: 0.001006
Epoch 242
-------------------------------
Train loss: 0.002398
Train loss: 0.001157
Epoch 243
-------------------------------
Train loss: 0.001137
Train loss: 0.002014
Epoch 244
-------------------------------
Train loss: 0.001106
Train loss: 0.000790
Epoch 245
-------------------------------
Train loss: 0.000935
Train loss: 0.001365
Epoch 246
-------------------------------
Train loss: 0.000966
Train loss: 0.001378
Epoch 247
-------------------------------
Train loss: 0.001049
Train loss: 0.001192
Epoch 248
-------------------------------
Train loss: 0.001184
Train loss: 0.001701
Epoch 249
-------------------------------
Train loss: 0.001269
Train loss: 0.001417
Epoch 250
-------------------------------
Train loss: 0.000762
Train loss: 0.001484
Epoch 251
-------------------------------
Train loss: 0.001184
Train loss: 0.001231
Epoch 252
-------------------------------
Train loss: 0.000873
Train loss: 0.000815
Epoch 253
-------------------------------
Train loss: 0.001698
Train loss: 0.001300
Epoch 254
-------------------------------
Train loss: 0.001698
Train loss: 0.000774
Epoch 255
-------------------------------
Train loss: 0.001557
Train loss: 0.000775
Epoch 256
-------------------------------
Train loss: 0.001042
Train loss: 0.001179
Epoch 257
-------------------------------
Train loss: 0.000867
Train loss: 0.001054
Epoch 258
-------------------------------
Train loss: 0.001319
Train loss: 0.001323
Epoch 259
-------------------------------
Train loss: 0.001197
Train loss: 0.000891
Epoch 260
-------------------------------
Train loss: 0.001105
Train loss: 0.001245
Epoch 261
-------------------------------
Train loss: 0.000880
Train loss: 0.001124
Epoch 262
-------------------------------
Train loss: 0.001769
Train loss: 0.000903
Epoch 263
-------------------------------
Train loss: 0.001183
Train loss: 0.001018
Epoch 264
-------------------------------
Train loss: 0.002589
Train loss: 0.001408
Epoch 265
-------------------------------
Train loss: 0.001463
Train loss: 0.001945
Epoch 266
-------------------------------
Train loss: 0.001875
Train loss: 0.001498
Epoch 267
-------------------------------
Train loss: 0.001422
Train loss: 0.001503
Epoch 268
-------------------------------
Train loss: 0.001143
Train loss: 0.002207
Epoch 269
-------------------------------
Train loss: 0.001479
Train loss: 0.000755
Epoch 270
-------------------------------
Train loss: 0.001078
Train loss: 0.001037
Epoch 271
-------------------------------
Train loss: 0.001525
Train loss: 0.001331
Epoch 272
-------------------------------
Train loss: 0.000914
Train loss: 0.001579
Epoch 273
-------------------------------
Train loss: 0.001173
Train loss: 0.001323
Epoch 274
-------------------------------
Train loss: 0.001607
Train loss: 0.001148
Epoch 275
-------------------------------
Train loss: 0.000782
Train loss: 0.001527
Epoch 276
-------------------------------
Train loss: 0.001457
Train loss: 0.001367
Epoch 277
-------------------------------
Train loss: 0.001139
Train loss: 0.001292
Epoch 278
-------------------------------
Train loss: 0.001684
Train loss: 0.000982
Epoch 279
-------------------------------
Train loss: 0.001611
Train loss: 0.001465
Epoch 280
-------------------------------
Train loss: 0.000973
Train loss: 0.001704
Epoch 281
-------------------------------
Train loss: 0.001814
Train loss: 0.002983
Epoch 282
-------------------------------
Train loss: 0.002216
Train loss: 0.001123
Epoch 283
-------------------------------
Train loss: 0.003094
Train loss: 0.001290
Epoch 284
-------------------------------
Train loss: 0.001104
Train loss: 0.000858
Epoch 285
-------------------------------
Train loss: 0.002042
Train loss: 0.001604
Epoch 286
-------------------------------
Train loss: 0.001314
Train loss: 0.001115
Epoch 287
-------------------------------
Train loss: 0.001638
Train loss: 0.000988
Epoch 288
-------------------------------
Train loss: 0.001070
Train loss: 0.001030
Epoch 289
-------------------------------
Train loss: 0.001638
Train loss: 0.001066
Epoch 290
-------------------------------
Train loss: 0.001121
Train loss: 0.000995
Epoch 291
-------------------------------
Train loss: 0.000958
Train loss: 0.001177
Epoch 292
-------------------------------
Train loss: 0.000922
Train loss: 0.001531
Epoch 293
-------------------------------
Train loss: 0.001123
Train loss: 0.000473
Epoch 294
-------------------------------
Train loss: 0.000934
Train loss: 0.001446
Epoch 295
-------------------------------
Train loss: 0.000507
Train loss: 0.001239
Epoch 296
-------------------------------
Train loss: 0.001038
Train loss: 0.001300
Epoch 297
-------------------------------
Train loss: 0.001677
Train loss: 0.001140
Epoch 298
-------------------------------
Train loss: 0.000683
Train loss: 0.001264
Epoch 299
-------------------------------
Train loss: 0.000975
Train loss: 0.001205
Epoch 300
-------------------------------
Train loss: 0.001459
Train loss: 0.001703
Epoch 301
-------------------------------
Train loss: 0.001647
Train loss: 0.001944
Epoch 302
-------------------------------
Train loss: 0.001939
Train loss: 0.001427
Epoch 303
-------------------------------
Train loss: 0.001071
Train loss: 0.001499
Epoch 304
-------------------------------
Train loss: 0.001276
Train loss: 0.001923
Epoch 305
-------------------------------
Train loss: 0.001400
Train loss: 0.001352
Epoch 306
-------------------------------
Train loss: 0.001838
Train loss: 0.001789
Epoch 307
-------------------------------
Train loss: 0.001812
Train loss: 0.001055
Epoch 308
-------------------------------
Train loss: 0.001531
Train loss: 0.002472
Epoch 309
-------------------------------
Train loss: 0.001211
Train loss: 0.001787
Epoch 310
-------------------------------
Train loss: 0.001147
Train loss: 0.002000
Epoch 311
-------------------------------
Train loss: 0.001322
Train loss: 0.001071
Epoch 312
-------------------------------
Train loss: 0.001661
Train loss: 0.002024
Epoch 313
-------------------------------
Train loss: 0.001291
Train loss: 0.001291
Epoch 314
-------------------------------
Train loss: 0.000900
Train loss: 0.001208
Epoch 315
-------------------------------
Train loss: 0.001013
Train loss: 0.000920
Epoch 316
-------------------------------
Train loss: 0.000585
Train loss: 0.000814
Epoch 317
-------------------------------
Train loss: 0.001076
Train loss: 0.000825
Epoch 318
-------------------------------
Train loss: 0.000651
Train loss: 0.001009
Epoch 319
-------------------------------
Train loss: 0.000880
Train loss: 0.000985
Epoch 320
-------------------------------
Train loss: 0.001252
Train loss: 0.000732
Epoch 321
-------------------------------
Train loss: 0.000784
Train loss: 0.001180
Epoch 322
-------------------------------
Train loss: 0.000809
Train loss: 0.000699
Epoch 323
-------------------------------
Train loss: 0.001053
Train loss: 0.000966
Epoch 324
-------------------------------
Train loss: 0.001450
Train loss: 0.001238
Epoch 325
-------------------------------
Train loss: 0.001397
Train loss: 0.001304
Epoch 326
-------------------------------
Train loss: 0.001112
Train loss: 0.000958
Epoch 327
-------------------------------
Train loss: 0.000848
Train loss: 0.000851
Epoch 328
-------------------------------
Train loss: 0.001185
Train loss: 0.001101
Epoch 329
-------------------------------
Train loss: 0.001283
Train loss: 0.001082
Epoch 330
-------------------------------
Train loss: 0.000667
Train loss: 0.001495
Epoch 331
-------------------------------
Train loss: 0.001159
Train loss: 0.001257
Epoch 332
-------------------------------
Train loss: 0.001648
Train loss: 0.001610
Epoch 333
-------------------------------
Train loss: 0.000969
Train loss: 0.001243
Epoch 334
-------------------------------
Train loss: 0.001406
Train loss: 0.002086
Epoch 335
-------------------------------
Train loss: 0.001385
Train loss: 0.002275
Epoch 336
-------------------------------
Train loss: 0.001645
Train loss: 0.001562
Epoch 337
-------------------------------
Train loss: 0.001542
Train loss: 0.002245
Epoch 338
-------------------------------
Train loss: 0.001176
Train loss: 0.001929
Epoch 339
-------------------------------
Train loss: 0.001478
Train loss: 0.001369
Epoch 340
-------------------------------
Train loss: 0.001926
Train loss: 0.001540
Epoch 341
-------------------------------
Train loss: 0.001447
Train loss: 0.001338
Epoch 342
-------------------------------
Train loss: 0.001253
Train loss: 0.001425
Epoch 343
-------------------------------
Train loss: 0.001703
Train loss: 0.001475
Epoch 344
-------------------------------
Train loss: 0.001210
Train loss: 0.001066
Epoch 345
-------------------------------
Train loss: 0.001407
Train loss: 0.000849
Epoch 346
-------------------------------
Train loss: 0.002322
Train loss: 0.001918
Epoch 347
-------------------------------
Train loss: 0.001338
Train loss: 0.000925
Epoch 348
-------------------------------
Train loss: 0.000811
Train loss: 0.000882
Epoch 349
-------------------------------
Train loss: 0.001076
Train loss: 0.001281
Epoch 350
-------------------------------
Train loss: 0.001611
Train loss: 0.001537
Epoch 351
-------------------------------
Train loss: 0.000888
Train loss: 0.001229
Epoch 352
-------------------------------
Train loss: 0.001257
Train loss: 0.001495
Epoch 353
-------------------------------
Train loss: 0.000672
Train loss: 0.001205
Epoch 354
-------------------------------
Train loss: 0.001665
Train loss: 0.000858
Epoch 355
-------------------------------
Train loss: 0.000742
Train loss: 0.001388
Epoch 356
-------------------------------
Train loss: 0.000813
Train loss: 0.000931
Epoch 357
-------------------------------
Train loss: 0.000947
Train loss: 0.000923
Epoch 358
-------------------------------
Train loss: 0.001463
Train loss: 0.000556
Epoch 359
-------------------------------
Train loss: 0.000956
Train loss: 0.001306
Epoch 360
-------------------------------
Train loss: 0.000941
Train loss: 0.000815
Epoch 361
-------------------------------
Train loss: 0.001175
Train loss: 0.000952
Epoch 362
-------------------------------
Train loss: 0.000800
Train loss: 0.000844
Epoch 363
-------------------------------
Train loss: 0.000797
Train loss: 0.000928
Epoch 364
-------------------------------
Train loss: 0.000607
Train loss: 0.000802
Epoch 365
-------------------------------
Train loss: 0.000915
Train loss: 0.001059
Epoch 366
-------------------------------
Train loss: 0.000671
Train loss: 0.000766
Epoch 367
-------------------------------
Train loss: 0.000681
Train loss: 0.000728
Epoch 368
-------------------------------
Train loss: 0.001085
Train loss: 0.000590
Epoch 369
-------------------------------
Train loss: 0.001679
Train loss: 0.001105
Epoch 370
-------------------------------
Train loss: 0.000851
Train loss: 0.001118
Epoch 371
-------------------------------
Train loss: 0.000972
Train loss: 0.001354
Epoch 372
-------------------------------
Train loss: 0.000809
Train loss: 0.000854
Epoch 373
-------------------------------
Train loss: 0.001202
Train loss: 0.001271
Epoch 374
-------------------------------
Train loss: 0.001206
Train loss: 0.000769
Epoch 375
-------------------------------
Train loss: 0.001688
Train loss: 0.001228
Epoch 376
-------------------------------
Train loss: 0.000609
Train loss: 0.000879
Epoch 377
-------------------------------
Train loss: 0.001056
Train loss: 0.001008
Epoch 378
-------------------------------
Train loss: 0.000902
Train loss: 0.001265
Epoch 379
-------------------------------
Train loss: 0.001559
Train loss: 0.001559
Epoch 380
-------------------------------
Train loss: 0.001156
Train loss: 0.000880
Epoch 381
-------------------------------
Train loss: 0.002341
Train loss: 0.001118
Epoch 382
-------------------------------
Train loss: 0.002283
Train loss: 0.001703
Epoch 383
-------------------------------
Train loss: 0.001116
Train loss: 0.001527
Epoch 384
-------------------------------
Train loss: 0.001842
Train loss: 0.001128
Epoch 385
-------------------------------
Train loss: 0.001422
Train loss: 0.001150
Epoch 386
-------------------------------
Train loss: 0.002275
Train loss: 0.001356
Epoch 387
-------------------------------
Train loss: 0.000671
Train loss: 0.001114
Epoch 388
-------------------------------
Train loss: 0.000937
Train loss: 0.001217
Epoch 389
-------------------------------
Train loss: 0.001098
Train loss: 0.001419
Epoch 390
-------------------------------
Train loss: 0.001127
Train loss: 0.001972
Epoch 391
-------------------------------
Train loss: 0.001067
Train loss: 0.000787
Epoch 392
-------------------------------
Train loss: 0.001496
Train loss: 0.000962
Epoch 393
-------------------------------
Train loss: 0.001695
Train loss: 0.001483
Epoch 394
-------------------------------
Train loss: 0.001596
Train loss: 0.001696
Epoch 395
-------------------------------
Train loss: 0.001463
Train loss: 0.000781
Epoch 396
-------------------------------
Train loss: 0.000982
Train loss: 0.001366
Epoch 397
-------------------------------
Train loss: 0.001226
Train loss: 0.001634
Epoch 398
-------------------------------
Train loss: 0.001184
Train loss: 0.002013
Epoch 399
-------------------------------
Train loss: 0.001252
Train loss: 0.001260
Epoch 400
-------------------------------
Train loss: 0.000760
Train loss: 0.001206
Epoch 401
-------------------------------
Train loss: 0.000525
Train loss: 0.000622
Epoch 402
-------------------------------
Train loss: 0.000923
Train loss: 0.000783
Epoch 403
-------------------------------
Train loss: 0.000561
Train loss: 0.001412
Epoch 404
-------------------------------
Train loss: 0.000731
Train loss: 0.001244
Epoch 405
-------------------------------
Train loss: 0.001769
Train loss: 0.001109
Epoch 406
-------------------------------
Train loss: 0.001085
Train loss: 0.001238
Epoch 407
-------------------------------
Train loss: 0.000673
Train loss: 0.000890
Epoch 408
-------------------------------
Train loss: 0.000873
Train loss: 0.000812
Epoch 409
-------------------------------
Train loss: 0.000592
Train loss: 0.000773
Epoch 410
-------------------------------
Train loss: 0.000774
Train loss: 0.000976
Epoch 411
-------------------------------
Train loss: 0.001167
Train loss: 0.000695
Epoch 412
-------------------------------
Train loss: 0.000525
Train loss: 0.000793
Epoch 413
-------------------------------
Train loss: 0.001078
Train loss: 0.000808
Epoch 414
-------------------------------
Train loss: 0.000685
Train loss: 0.000771
Epoch 415
-------------------------------
Train loss: 0.000423
Train loss: 0.000861
Epoch 416
-------------------------------
Train loss: 0.001048
Train loss: 0.000867
Epoch 417
-------------------------------
Train loss: 0.000647
Train loss: 0.001454
Epoch 418
-------------------------------
Train loss: 0.000711
Train loss: 0.000876
Epoch 419
-------------------------------
Train loss: 0.000572
Train loss: 0.000988
Epoch 420
-------------------------------
Train loss: 0.001614
Train loss: 0.000844
Epoch 421
-------------------------------
Train loss: 0.001105
Train loss: 0.000728
Epoch 422
-------------------------------
Train loss: 0.001853
Train loss: 0.002423
Epoch 423
-------------------------------
Train loss: 0.001806
Train loss: 0.002750
Epoch 424
-------------------------------
Train loss: 0.000941
Train loss: 0.001574
Epoch 425
-------------------------------
Train loss: 0.001870
Train loss: 0.000616
Epoch 426
-------------------------------
Train loss: 0.001422
Train loss: 0.001109
Epoch 427
-------------------------------
Train loss: 0.001623
Train loss: 0.001718
Epoch 428
-------------------------------
Train loss: 0.001297
Train loss: 0.001605
Epoch 429
-------------------------------
Train loss: 0.001071
Train loss: 0.002339
Epoch 430
-------------------------------
Train loss: 0.001330
Train loss: 0.002031
Epoch 431
-------------------------------
Train loss: 0.000830
Train loss: 0.001056
Epoch 432
-------------------------------
Train loss: 0.001187
Train loss: 0.001332
Epoch 433
-------------------------------
Train loss: 0.000953
Train loss: 0.000903
Epoch 434
-------------------------------
Train loss: 0.000662
Train loss: 0.001240
Epoch 435
-------------------------------
Train loss: 0.001170
Train loss: 0.000849
Epoch 436
-------------------------------
Train loss: 0.000755
Train loss: 0.000869
Epoch 437
-------------------------------
Train loss: 0.000713
Train loss: 0.000681
Epoch 438
-------------------------------
Train loss: 0.000949
Train loss: 0.000767
Epoch 439
-------------------------------
Train loss: 0.000583
Train loss: 0.000713
Epoch 440
-------------------------------
Train loss: 0.000521
Train loss: 0.000866
Epoch 441
-------------------------------
Train loss: 0.000411
Train loss: 0.000641
Epoch 442
-------------------------------
Train loss: 0.000923
Train loss: 0.000773
Epoch 443
-------------------------------
Train loss: 0.000608
Train loss: 0.000481
Epoch 444
-------------------------------
Train loss: 0.000664
Train loss: 0.000551
Epoch 445
-------------------------------
Train loss: 0.000721
Train loss: 0.000745
Epoch 446
-------------------------------
Train loss: 0.000736
Train loss: 0.000930
Epoch 447
-------------------------------
Train loss: 0.000512
Train loss: 0.000540
Epoch 448
-------------------------------
Train loss: 0.000524
Train loss: 0.000533
Epoch 449
-------------------------------
Train loss: 0.000402
Train loss: 0.000997
Epoch 450
-------------------------------
Train loss: 0.000849
Train loss: 0.000858
Epoch 451
-------------------------------
Train loss: 0.000651
Train loss: 0.000491
Epoch 452
-------------------------------
Train loss: 0.000523
Train loss: 0.000569
Epoch 453
-------------------------------
Train loss: 0.000660
Train loss: 0.001007
Epoch 454
-------------------------------
Train loss: 0.000780
Train loss: 0.000704
Epoch 455
-------------------------------
Train loss: 0.000746
Train loss: 0.000898
Epoch 456
-------------------------------
Train loss: 0.000638
Train loss: 0.000573
Epoch 457
-------------------------------
Train loss: 0.000826
Train loss: 0.000681
Epoch 458
-------------------------------
Train loss: 0.001039
Train loss: 0.000903
Epoch 459
-------------------------------
Train loss: 0.000956
Train loss: 0.001038
Epoch 460
-------------------------------
Train loss: 0.000571
Train loss: 0.000862
Epoch 461
-------------------------------
Train loss: 0.000965
Train loss: 0.000954
Epoch 462
-------------------------------
Train loss: 0.001670
Train loss: 0.001610
Epoch 463
-------------------------------
Train loss: 0.001011
Train loss: 0.001551
Epoch 464
-------------------------------
Train loss: 0.000996
Train loss: 0.000699
Epoch 465
-------------------------------
Train loss: 0.001285
Train loss: 0.001792
Epoch 466
-------------------------------
Train loss: 0.001534
Train loss: 0.000984
Epoch 467
-------------------------------
Train loss: 0.001357
Train loss: 0.000974
Epoch 468
-------------------------------
Train loss: 0.001358
Train loss: 0.002237
Epoch 469
-------------------------------
Train loss: 0.001865
Train loss: 0.001172
Epoch 470
-------------------------------
Train loss: 0.001156
Train loss: 0.001132
Epoch 471
-------------------------------
Train loss: 0.000937
Train loss: 0.001708
Epoch 472
-------------------------------
Train loss: 0.001377
Train loss: 0.001699
Epoch 473
-------------------------------
Train loss: 0.001161
Train loss: 0.001148
Epoch 474
-------------------------------
Train loss: 0.000758
Train loss: 0.000880
Epoch 475
-------------------------------
Train loss: 0.000791
Train loss: 0.000613
Epoch 476
-------------------------------
Train loss: 0.000600
Train loss: 0.000758
Epoch 477
-------------------------------
Train loss: 0.000681
Train loss: 0.001436
Epoch 478
-------------------------------
Train loss: 0.000688
Train loss: 0.001033
Epoch 479
-------------------------------
Train loss: 0.000825
Train loss: 0.001004
Epoch 480
-------------------------------
Train loss: 0.000717
Train loss: 0.000790
Epoch 481
-------------------------------
Train loss: 0.002253
Train loss: 0.001060
Epoch 482
-------------------------------
Train loss: 0.001348
Train loss: 0.001656
Epoch 483
-------------------------------
Train loss: 0.001193
Train loss: 0.001694
Epoch 484
-------------------------------
Train loss: 0.000719
Train loss: 0.000674
Epoch 485
-------------------------------
Train loss: 0.001485
Train loss: 0.001226
Epoch 486
-------------------------------
Train loss: 0.001289
Train loss: 0.001610
Epoch 487
-------------------------------
Train loss: 0.000985
Train loss: 0.001612
Epoch 488
-------------------------------
Train loss: 0.001365
Train loss: 0.001342
Epoch 489
-------------------------------
Train loss: 0.001654
Train loss: 0.000671
Epoch 490
-------------------------------
Train loss: 0.001050
Train loss: 0.000807
Epoch 491
-------------------------------
Train loss: 0.000878
Train loss: 0.001021
Epoch 492
-------------------------------
Train loss: 0.000543
Train loss: 0.000829
Epoch 493
-------------------------------
Train loss: 0.000471
Train loss: 0.000649
Epoch 494
-------------------------------
Train loss: 0.000683
Train loss: 0.000949
Epoch 495
-------------------------------
Train loss: 0.000996
Train loss: 0.000606
Epoch 496
-------------------------------
Train loss: 0.000906
Train loss: 0.000579
Epoch 497
-------------------------------
Train loss: 0.000565
Train loss: 0.000328
Epoch 498
-------------------------------
Train loss: 0.000557
Train loss: 0.000732
Epoch 499
-------------------------------
Train loss: 0.000399
Train loss: 0.000831
Epoch 500
-------------------------------
Train loss: 0.000394
Train loss: 0.000582
Done!
In [116]:
import soundfile as sf

cnn_2d.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('//content/drive/MyDrive/deep learning/Assignment2/train_dirty_male.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)


    Xt_abs.astype(np.float32)
    
    Xt_abs_T = Xt_abs.T
    
    converted_Xt = np.array(convert_voice_to_img(Xt_abs_T))

    y = np.asarray(cnn_2d(torch.tensor(converted_Xt)))

    q = [[0] * 513] * 19
    q = np.array(q)
    y = np.concatenate((q, y), axis=0)

    y = y.transpose()
    y = np.abs(y) * ((Xt/ Xt_abs))
    y = librosa.istft(y, hop_length=512)

    sf.write('Qs3_train_clean_male_recons_cnn2D.wav', y, sr)
In [117]:
s, sr = librosa.load('/content/drive/MyDrive/deep learning/Assignment2/train_clean_male.wav', sr= None)
s_hat, sr_hat = librosa.load('/content/Qs3_train_clean_male_recons_cnn2D.wav', sr= None)

I tried many different layers, channels, kernel sizes, different hidden layers, paddings, and different number of nodes, but this is the best result I got.

In [118]:
print(snr(s[:len(s_hat)], s_hat))
-1.7367381034945597
In [119]:
import soundfile as sf

cnn_2d.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_01.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)


    Xt_abs.astype(np.float32)
    
    Xt_abs_T = Xt_abs.T
    
    converted_Xt = np.array(convert_voice_to_img(Xt_abs_T))

    y = np.asarray(cnn_2d(torch.tensor(converted_Xt)))

    q = [[0] * 513] * 19
    q = np.array(q)
    y = np.concatenate((q, y), axis=0)

    y = y.transpose()
    y = np.abs(y) * ((Xt/ Xt_abs))
    y = librosa.istft(y, hop_length=512)
    
    sf.write('Qs3_test_s_01_recons_cnn2D.wav', y, sr)
In [120]:
import soundfile as sf

cnn_2d.to('cpu')
with torch.no_grad():
    Xt, sr=librosa.load('/content/drive/MyDrive/deep learning/Assignment2/test_x_02.wav', sr= None)

    Xt=librosa.stft(Xt, n_fft=1024, hop_length=512)

    Xt_abs = np.abs(Xt)


    Xt_abs.astype(np.float32)
    
    Xt_abs_T = Xt_abs.T
    
    converted_Xt = np.array(convert_voice_to_img(Xt_abs_T))

    y = np.asarray(cnn_2d(torch.tensor(converted_Xt)))

    q = [[0] * 513] * 19
    q = np.array(q)
    y = np.concatenate((q, y), axis=0)

    y = y.transpose()
    y = np.abs(y) * ((Xt/ Xt_abs))
    y = librosa.istft(y, hop_length=512)
    
    sf.write('Qs3_test_s_02_recons_cnn2D.wav', y, sr)
In [81]:
!pip install nbconvert
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (5.6.1)
Requirement already satisfied: nbformat>=4.4 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (5.7.0)
Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (0.8.4)
Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (0.4)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (1.5.0)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert) (0.7.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.7/dist-packages (from nbconvert) (4.11.1)
Requirement already satisfied: jinja2>=2.4 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (2.11.3)
Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from nbconvert) (2.6.1)
Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert) (5.0.1)
Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert) (0.6.0)
Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.7/dist-packages (from nbconvert) (5.1.1)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from jinja2>=2.4->nbconvert) (2.0.1)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.4->nbconvert) (4.3.3)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.4->nbconvert) (2.16.2)
Requirement already satisfied: importlib-metadata>=3.6 in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.4->nbconvert) (5.0.0)
Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.6->nbformat>=4.4->nbconvert) (4.1.1)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.6->nbformat>=4.4->nbconvert) (3.9.0)
Requirement already satisfied: importlib-resources>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema>=2.6->nbformat>=4.4->nbconvert) (5.10.0)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema>=2.6->nbformat>=4.4->nbconvert) (22.1.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema>=2.6->nbformat>=4.4->nbconvert) (0.18.1)
Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert) (1.15.0)
Requirement already satisfied: webencodings in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert) (0.5.1)
In [82]:
!jupyter nbconvert --to html dl_a2.ipynb
[NbConvertApp] Converting notebook dl_a2.ipynb to html
[NbConvertApp] Writing 525877 bytes to dl_a2.html
In [83]:
import IPython
In [84]:
# Question 1, output of the model trained on the whole dataset without validationset
IPython.display.Audio("/content/Qs1_train_clean_male_recons_v1.wav")
Out[84]:
In [85]:
# Question 1, output of the model trained on only the training set
IPython.display.Audio("/content/Qs1_train_clean_male_recons_v2.wav")
Out[85]:
In [86]:
# Question 1, Test1
IPython.display.Audio("/content/Qs1_test_s_01_recons.wav")
Out[86]:
In [87]:
# Question 1, Test2
IPython.display.Audio("/content/Qs1_test_s_02_recons.wav")
Out[87]:
In [88]:
# Question 2
IPython.display.Audio("/content/Qs2_train_clean_male_recons_cnn1D.wav")
Out[88]:
In [89]:
# Question 2, Test1
IPython.display.Audio("/content/Qs2_test_s_01_recons_cnn1D.wav")
Out[89]:
In [90]:
# Question 2, Test2
IPython.display.Audio("/content/Qs2_test_s_02_recons_cnn1D.wav")
Out[90]:
In [121]:
# Question 3
IPython.display.Audio("/content/Qs3_train_clean_male_recons_cnn2D.wav")
Out[121]:
In [122]:
# Question 3, Test1
IPython.display.Audio("//content/Qs3_test_s_01_recons_cnn2D.wav")
Out[122]:
In [123]:
# Question 3, Test2
IPython.display.Audio("/content/Qs3_test_s_02_recons_cnn2D.wav")
Out[123]: